US20130174015A1 - Dynamically modifiable mobile device simulator - Google Patents
Dynamically modifiable mobile device simulator Download PDFInfo
- Publication number
- US20130174015A1 US20130174015A1 US13/351,486 US201213351486A US2013174015A1 US 20130174015 A1 US20130174015 A1 US 20130174015A1 US 201213351486 A US201213351486 A US 201213351486A US 2013174015 A1 US2013174015 A1 US 2013174015A1
- Authority
- US
- United States
- Prior art keywords
- mobile
- optimized
- website
- web page
- simulator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Definitions
- the present invention relates generally to techniques for building web-based content, and more particularly to techniques and tools for the automated generation of a website optimized for mobile devices based on an existing website.
- the traditional website designed for viewing on a desktop or laptop often involves the download of a significant amount of data in order to capitalize on the relatively large amount of viewing space on the screen, and to implement interactive functionality, animations, video, and/or sound to attract visitors to the website.
- Websites designed for the traditional computing device can get away with such large data transfer due to the typically high-bandwidth data communication link that such devices use.
- technology has certainly advanced to allow for increasingly greater data bandwidth and speed, the demand for data, both in terms of volume and speed, has still outpaced the current available communication link technologies.
- a typical mobile device such as a cell phone or pad computer
- features such as connection speed, user input mechanisms and screen size, that are fundamentally different than such features provided in a traditional computer device.
- connection speed a feature that is fundamentally different than such features provided in a traditional computer device.
- mobile websites may provide different user input controls than the traditional website.
- the traditional website typically includes navigation buttons, page scrolls, and other functional buttons which are manipulated by pointing, clicking, and other movements of a mouse cursor on the screen.
- This type of user interface is typically cumbersome for mobile device users, and additionally takes up valuable screen space.
- Another difference between traditional computer devices and mobile devices is the screen size.
- Traditional computer devices have larger screens and often place a lot of content on each page. Because screen space is at such a premium, traditional web pages that include a lot of content may be best displayed on a mobile device by breaking the content up into different pages, or by using many of the features, such as sliding, that are already natural to mobile device users.
- the end result of using the same website for both traditional computers and for mobile devices may be poor presentation of, and/or user frustration with, the website on the mobile device, which may result in lost customers to the business owner of the website.
- a website optimized for a mobile device is characterized by at least one of several optimization features, including utilizing content that is less data-intensive, and provisioning the website with mobile-appropriate user interface features.
- Embodiments of the invention includes systems and method for automatically generating a mobile-optimized website from an existing www. website, including automated matching of suitable mobile-optimized headers, automated generation of a matching color scheme/gradients/shadows based on a limited subset of colors from the www. website, automated addition of device-specific autodetection and configuration code in mobile web pages that include audio tags.
- Additional embodiments of the present invention include a mobile website design studio for editing and configuring a mobile website, including configuration and selection options for the mobile website header, layout, color scheme, and functional widget content.
- the mobile website design studio includes a fully editable header.
- the mobile website configuration engine includes a dynamically modifiable mobile device simulator.
- FIG. 1 is a block diagram of a networked client-server system
- FIG. 2 is a block diagram illustrating an exemplary system architecture of a system in which embodiments of the present invention operate
- FIG. 3 is a block diagram illustrating a map of an exemplary website and its corresponding mobile-optimized website
- FIG. 4 is communications diagram illustrating the creation and publishing of a conventional website and its corresponding mobile-optimized website
- FIG. 5A is an example of a Home Page of a conventional website
- FIG. 5B is an anatomical view of the Home Page of FIG. 5A ;
- FIG. 5C is an example of an About Us web page of a conventional website
- FIG. 5A is an example of a Contacts web page of a conventional website
- FIG. 6 illustrates the difference in display screen shape, size, and pixel count between a conventional desktop or laptop display and a mobile device display
- FIG. 7 is a block diagram illustrating an example set of website component assets stored in a website assets database
- FIG. 8 is an exemplary method for selecting a m. header based on an existing www. website
- FIG. 9A is a flowchart illustrating an exemplary method for automatically configuring a mobile-optimized web page to select and configure an audio player on a mobile device
- FIG. 9B is a flowchart illustrating an exemplary operation of the audio autodetection and configuration description when encountered in a mobile-optimized web page by a browser
- FIGS. 10A-10O illustrate a set of exemplary web pages that are displayed as a user configures and manages a mobile version of a website
- FIG. 11 is a system diagram of an embodiment of a system and corresponding interactional operations between the mobile website configuration tool and a dynamically modifiable mobile device simulator;
- FIG. 12 is an operational diagram illustrating the interactional operations between the mobile website configuration tool and mobile device simulator of FIG. 11 .
- embodiments described below feature a network-based application that automatically generates a website optimized for mobile devices based on an existing website.
- a preferred embodiment of the present invention features a network-based application for automatically converting assets of a designated website into corresponding assets of a mobile-ready website that are optimized for mobile devices.
- a preferred embodiment of the present invention may also feature a network-based design application which allows a user to edit and configure features of a mobile-ready website.
- the present invention is implemented as a web-based service that may be accessed through the Internet, for example, using a Web browser.
- the service provides an interface that allows a user to select a website and request the generation of a matching mobile-ready website.
- the request is received at a server which automatically generates a website optimized for mobile devices and which preferably matches the look-and-feel of the selected website.
- the service further provides a design environment which allows the user to make changes to the automatically generated mobile website and to publish the mobile website.
- Further preferred embodiments of the present invention may feature automated matching of mobile-ready page headers to match the headers of the traditional website page headers, automated generation of a matching color scheme based on selected colors of the original website, and automated detection and configuration of appropriate audio players when the mobile website is loaded at a mobile device.
- the Internet is a vast and expanding network of computers and other devices linked together by various telecommunications media, enabling the various components to exchange and share data.
- Web pages and websites (collections of related web pages organized under a particular domain), accessible through Internet, provide information about numerous businesses, products and services, as well as education, research, and entertainment.
- a resource that is attached to the Internet is often referred to as a “host.”
- resources include conventional computer systems that are made up of one or more processors, associated memory and other storage devices and peripherals, such as modems, networks interfaces and the like that allow for connection to the Internet or other networks.
- the hosting resource may be embodied as hardware and/or software components of a server or other computer system that includes an interface module, which allows for some dialog with users and that may process information input by the user.
- a server will be accessed through the Internet's graphical user interface, the World Wide Web, (e.g., via Web browsers) in the conventional fashion.
- each host has a numerical Internet Protocol (IP) address.
- IP Internet Protocol
- the IP address of a hypothetical host computer might be 69.17.223.11.
- Each host also has a unique “fully qualified domain name.”
- the “fully qualified domain name” might be “computer.domain.com”, the three elements of which are the hostname (“computer”), a domain name (“domain”) and a top-level domain (“com”).
- a given host looks up the IP address of other hosts on the Internet through a system known as domain name service.
- a page of a website is addressable by way of a Uniform Resource Locator, or “URL”.
- a URL specifies three elements: (1) a transfer protocol; (2) a web server name or domain name; and (3) a path.
- the first element of the URL is a transfer protocol, most commonly “http” standing for hypertext transfer protocol, but others include “mailto” for electronic mail, “ftp” for file transfer protocol, and “nntp” for network news transfer protocol.
- the domain name indicates the name of the web server that stores the web page.
- the path indicates the location of web page on the named web server.
- Web browsers As previously indicated, in order to access the Internet most users rely on computer programs known as “Web browsers.” Commercially available Web browsers include such well-known programs as Microsoft's Internet Explorer, Apple's Safari, Google's Chrome, and Mozilla Firefox, to name a few. If an Internet user desires to view a Web page hosted at www.domain.com, the Internet user might enter into a Web browser program the uniform resource locator (URL) “http://www.domain.com”.
- URL uniform resource locator
- the request is routed to a Domain Name System (DNS) server capable of matching the domain name specified in the URL to a corresponding IP address of a web server hosting the requested web page.
- DNS Domain Name System
- the DNS server ultimately matches an alphanumeric name such as www.domain.com with its numeric IP address 69.17.223.11.
- a host When a host receives a request from the Internet, it returns the data in the file pointed to by the request to the client making the request.
- Such data may make up a Web page, which may include a text message, sound, image, video, or a combination of such elements.
- a user can move between Web pages through the use of hyperlinks, which are links to other pages or locations on pages on the Internet.
- An integral component of the present invention is a computer server.
- Servers are computer programs that provide some service to other programs, called clients.
- a client 5 and server 20 of FIG. 1 communicate by means of message passing often over a network 10 , and use some protocol, a set of formal rules describing how to transmit data, to encode the client's requests and/or responses and the server's responses and/or requests.
- the server may run continually waiting for client's requests and/or responses to arrive or it may be invoked by some higher-level continually running server that controls a number of specific servers.
- FIG. 2 An embodiment of a system architecture of the present invention is presented in FIG. 2 .
- Services for automatically generating and configuring a mobile website may be accessed through client machines 100 that run browser applications 105 to provide graphical interfaces for a user to effectively use the mobile website services.
- the client machines 100 communicate with a server machine 120 via a network 110 , e.g. Internet.
- the server machine 120 includes such components of the present invention as a web server 130 , an application server 140 , a Preview server 145 , a website management server 150 , a website configuration server 160 , a mobile website configuration server 170 , and a database server 180 .
- these servers may run on other machines that are accessible by the server machine 120 , and further that the server machine 120 may comprise one or more server machines working together to perform the functionality described herein.
- databases for storing website asset 192 , hosted websites 194 , product information 196 , customer information 198 , customer orders 199 , etc. are also stored at the server machine 120 .
- databases may be stored at other machines and database data may be uploaded to the server machine 120 when necessary.
- the application server 140 comprises a website management server 150 that includes a website configuration server 160 and a mobile website configuration server 170 .
- the mobile website configuration server 170 includes a mobile website generation engine 172 , a mobile website matching engine 174 , and a mobile website configuration engine 176 .
- the mobile website generation engine 172 automatically generates a mobile version of an existing website such that the mobile version of the website is optimized for mobile devices.
- the mobile website generation engine 172 may utilize the services of the mobile website matching engine 174 to include mobile website assets that match at least some content and look and feel of the existing website.
- the mobile website configuration engine 176 allows a user, operating a client machine 100 and using a web browser 105 , to configure features and make changes to the mobile website.
- Website assets such as images, text content, audio files, etc. may be provided at the server machine, or alternatively, one or more website assets may be uploaded to the server by the user from the client machine 100 .
- Website assets may be stored in one or more website asset databases 192 .
- a traditional website is a set of one or more web pages served by a web server at a particular domain name.
- a web page is typically a text document containing text and browser-interpretable instructions, such as the well-known Hypertext Markup Language (HTML or XHTML), Dynamic HTML (DHTML), Document Object Model (DOM), etc.
- HTML or XHTML Hypertext Markup Language
- DHTML Dynamic HTML
- DOM Document Object Model
- a browser 105 running on a client machine 100 requests a web page by specifying the Universal Resource Locator (URL) of the specific page, and upon receiving the requested page from the server 120 , renders the page on the user's display screen by processing and executing the browser-interpretable instructions.
- Web pages may be linked to other web pages by way of hyperlinks placed within the page(s).
- a hyperlink specifies a URL of a web page, a position in the web page, or a resource accessible by the server serving the web page.
- a typical website consists of a home page that is served when the URL specifies the domain name without specifying a particular path (e.g., www.mycompany.com). Additional pages belonging to a website may be specified by way of the path following the domain name in the URL. For example, a “Contact Us” web page for the www.mycompany.com website may be specified as “www.mycompany.com/ContactUs”, where the path “/ContactUs” in the URL indicates the location at the web server of the “Contact Us” web page.
- a website may consist of a plurality of related web pages 30 , 32 , 34 , 36 , 38 , each comprising a browser-renderable document (for example, an HTML document).
- a www. website includes a Home Page 30 , a Contact page 32 , an About Us page 34 , a Products page 36 , and one or more additional web pages 38 .
- a corresponding mobile-ready website would then consist of a mobile-optimized Home page 40 , a mobile-optimized Contact page 42 , a mobile-optimized About Us page 44 , a mobile-optimized Products page 46 , and corresponding mobile-optimized additional web pages 48 .
- each of the various web pages of the conventional website is hereinafter referred to as a “www. web page” or a “www. document”, while each of the various web pages of a corresponding mobile-optimized website is hereinafter referred to as a “m. web page” or a “m. document”.
- the conventional www. web pages are typically created and updated using an interactive configuration and editing tool 102 , hereinafter referred to as a “website building tool”.
- the website building tool 102 is downloaded from the server 130 to the client machine 100 to run in the client browser 105 .
- the website building tool 102 provides a graphical user interface that allows a creator or designer of a website to, among other actions, select page formats, add and modify content on the pages of the website, add or delete pages of the website, etc.
- the website building tool 102 receives user input for various formatting aspects, such as layout, color and/or color scheme, text fonts, content (including text, images, videos, audio, and scripts).
- the user input typically is received via a graphical user interface (GUI) that presents various options and input areas and translates the selected options and user input into a browser-renderable language such as HTML.
- GUI graphical user interface
- the website building tool 102 modifies a copy of a selected corresponding current web page of the site.
- the modified copy of the edited web page is not visible to the public until it gets published to the hosted websites database 194 .
- the website building tool 102 includes a publish control (such as a button), which allows the user of the website building tool 102 to publish the edited page once he or she is satisfied with any changes made to the page.
- the website building tool 102 includes a preview function which allows the website owner to preview the changes made to the page prior to publishing it.
- a Preview button may, when clicked by the user using a mouse or other input device, trigger the loading and rendering of the edited page into a browser for display to the user.
- the Publish button triggers the writing of the HTML version of the edited page to the hosted web pages database 194 , overwriting the corresponding existing page if one exists.
- a corresponding mobile-optimized website (hereinafter a “m. website”) is automatically created and/or updated when a conventional website (hereinafter referred to as a “www. website”) is created and/or updated.
- a corresponding m. web page is created automatically and without user request by the mobile website generation engine 172 each time a www. web page is created by the user.
- the corresponding m. page preferably matches at least some content and the corresponding look and feel of the www. web page.
- a m. website is initially created only when the user requests creation of the m. website.
- the mobile website generation engine 172 then operates in conjunction with the mobile website matching engine 174 to pull mobile website assets optimized for mobile devices from the website asset database 192 that match the website assets present on the www. website and to perform additional mobile-specific optimization to generate an initial m. website for the user.
- a mobile website configuration engine 176 allows a user to actively select and/or modify various configuration options including page layout, colors and color schemes, text fonts, content, and other features on the m. website.
- FIG. 4 is an operational diagram illustrating client-server actions and communications in accordance with an embodiment of the present invention.
- a www. web page is either created or an existing www. web page is edited (step 50 ).
- the description and placement of the components may be abstracted from a .html browser-renderable format to a browser-independent XML-type format that describes the appearance and placement of various components (such as text containers, text content, image containers, image content, fonts, colors, layouts, etc.) of a particular www. web page.
- the XML page description is sent by the client 100 to the website configuration server 160 , where the website configuration engine 162 generates a .html page (step 51 ).
- the server 160 sends the .html web page corresponding to the edited page to the client machine 100 , where it is rendered in the client's browser 105 (step 54 ). Steps 50 through 54 may be repeated until the user is satisfied with the edits.
- the user may at some point request that the edited web page be published to the hosted website database 194 (step 55 ).
- the website management server 150 upon receipt of such request, instructs the database server 180 to write the .html web page corresponding to the edited web page to the hosted websites database 194 (step 56 ).
- the mobile website configuration server 170 automatically generates a corresponding mobile-optimized version of the edited web page (step 57 ). This may occur either automatically at the direction of the website management server 150 , or automatically upon request by the user (step 58 ). In an embodiment, the mobile website configuration server 170 triggers the automatic generation of a m. web page corresponding to the newly edited www. web page, preferably in both the ⁇ XML> format used by the mobile website configuration tool 178 and .html format renderable by web browsers 105 (step 59 ).
- the mobile website generation engine 172 communicates with the mobile website matching engine 174 to retrieve mobile-ready website assets (such as mobile-optimized headers, layouts, color schemes, content and functionality) from the website assets database 192 that match the look-and-feel of the conventional website assets of the user's www. website.
- mobile-ready website assets such as mobile-optimized headers, layouts, color schemes, content and functionality
- the user may view the system-generated m. website and decide to customize the configuration.
- the user may invoke the mobile website configuration tool 178 , which sends the ⁇ XML> of at least one m. web page to the mobile website configuration engine 176 (step 59 ).
- the mobile website configuration tool 178 receives user input configuration selections and sends ⁇ XML> updates to the mobile website configuration engine 176 (step 60 ), which generates a corresponding .html page (step 63 ).
- the server sends the .html m. web page to the client 100 where it is rendered on the user's display screen in the browser 105 (step 64 ).
- the user may request that the changes made to the m. web page or m. website be published to the hosted websites database 194 (step 65 ).
- the website management server 150 copies (and replaces any existing page if necessary) the new .html m. web page containing the changes made by the user through the mobile website configuration tool 178 to the hosted websites database 194 (step 66 ), where it becomes available to the public and accessible to be served by the web server 130 .
- FIGS. 5A-5D exemplify a set of screen shots of various web pages of an example website.
- FIG. 5A displays a Home page 200 of the example website.
- FIG. 5B illustrates an embodiment of various components that make up the anatomy of the Home page 200 .
- the Home page 200 includes an outer background 201 , an inner background 202 , a header 203 , a footer 205 , a navigation panel 207 , a repeatable middle portion 206 , and a content area 209 .
- the user content area 209 may vertically expand and contract to fit the amount of content inserted in the user content area 209 .
- one or more instances of the repeatable middle portion 206 are added to page so that the user content area does not expand into the footer 205 .
- the user content 209 is edited to remove content such that the vertical space occupied by the user content allows one or more instances of the repeatable middle portion 206 to be removed from the page while still not resulting in the user content area overlapping the footer 205 , then those one or more instances of the repeatable middle portion are removed automatically by the website building tool.
- portions (e.g., 204 a ) of the artwork 204 may extend vertically into one or more of the inner background 202 or navigation area 207 .
- the header artwork 204 then appears to partially wrap around one or both of the top corners of the user content area 209 .
- the resulting appearance may be such to reduce the “building-block” look of the website, resulting in a more sophisticated appearance which is more aesthetically pleasing to the user.
- FIG. 5C illustrates of an example “About Us” web page 210
- FIG. 5D illustrates an example “Contact” web page 220 , both of which are part of the same website as the Home page 200 .
- all three pages 200 , 210 , 220 include the same outer background 201 , inner background 202 , header 203 , footer 205 , navigation panel 207 , and repeatable middle portion 206 , while the content displayed in the content area 209 of each page differs.
- a conventional (.www) website is typically created for display on a desktop 71 or laptop 70 , which is typically wider than it is tall.
- a typical number of pixels on a conventional desktop or laptop display 75 might be, for example, 800 pixels wide by 600 pixels long.
- the display screen 76 on a typical mobile device 72 is usually longer than it is wide.
- a typical mobile device might provide 320 pixels width by 480 pixels length. This is illustrated in FIG. 6 .
- the designer sets the size and content of the header (see 204 in FIG. 5B ). The www.
- header is typically designed to span the width of the conventional laptop or desktop display 75 and is thus greater in width than the width of the typical mobile device (i.e., header 203 is typically greater than 320 pixels wide).
- header 203 is typically greater than 320 pixels wide.
- portions of artwork that appear to be part of the www. header may appear cut off along the bottom edge if the www. header is rendered on a mobile device unless the other component that implements the complementing artwork is also rendered. For example, as previously described in connection with FIG.
- a conventional website header that appears to include artwork 204 that extends vertically into the inner background area 202 or navigation area 207 may in fact be implemented as complementary pieces 204 a , 204 b in different components (header 202 and navigation area 207 ) that come together to form a single artwork piece 204 when rendered on a conventional display.
- a website that is optimized for mobile devices might not utilize the navigational area component 207 from the www. website at all, or at the very least might reposition the navigational area component 207 , for example to the center of the m. web page.
- the complementary portion 204 b of the artwork 204 would either not be displayed (in the case of not rendering the www. navigational area component 207 ) or may be offset so that the complementary artwork portion 204 b does not align with the primary artwork portion 204 a (in the case of centering or otherwise repositioning the navigational area component 207 with respect to the header component 203 ). Accordingly, an independent mobile-optimized header is ideally used in place of the www. header 203 when generating a mobile-optimized website.
- FIG. 7 depicts a structural diagram of a portion of a website assets database 192 .
- the website assets database 192 contains components and descriptions such as headers, navigational components, background images, inner background images, footers, layouts, color schemes, accent images, font schemes, template descriptions, and any type of component or scheme that may be used as a component in a web page.
- a web page may include a plurality of different components arranged (such as layouts, headers, footers, backgrounds, text components, and images) and/or applied (such as color schemes, font schemes, backgrounds, layouts, etc.) according to a page description (typically .html).
- Matching assets are components that share a common image or look-and-feel such that when different matching assets are used across different type of products (such as websites, mobile website, email marketing and printed products), all of the different types of products appear to have a coordinated look—i.e., they appear to belong to the same set of coordinated products. This may be achieved by using one or more of the same image, color scheme, font scheme, etc., and/or by using multiple different images having a similar theme along with an identical color scheme, font scheme, or other component.
- a designer of a www. website may have designed a www. header 81 , www. navigation area 82 , a www. layout 83 , a www. inner background 84 , a www. footer 85 , a font scheme 86 , and a color scheme 87 .
- the designer may also have created a matching Email header 88 .
- the designer may have generated corresponding matching printed product assets that are used by an automated design generation engine to create matching products.
- families of matching assets also preferably include matching m. webpage assets.
- a designer when a designer generates website assets for a particular www. design that can be automatically combined by a computer system to generate a web page, the designer may at that time also create a matching m. header 91 that is designed to fit on the display screen of a mobile device.
- the m. header 91 may further be designed to require less data to download to the mobile device in order to allow the m. web page to load more quickly.
- One way to achieve less data in the header is to reduce the images used and the resolution of the images.
- the m. web page assets may also include one or more navigational panels 92 a , 92 b , 92 m , one or more different layout styles 93 a , 93 b , 93 m , and other m. web page components that may be used in the construction of a matching m. website.
- Each of the m. components are optimized for mobile by reducing the size (i.e., amount of data) of the component and considering the aspect ratio and pixel count of a mobile device. For example, m. layouts tend not to place navigation areas to the left of the content (as they do in www. web pages) but rather centered above or below the user content area on the screen.
- the website designer may not have generated a m. header or other corresponding assets.
- alternative techniques for generating m. components that match the www. website as closely as possible are necessitated.
- the particular path to follow depends in part on what assets are available from the family from which the www. assets belong. For example, there may be a different asset in the same family that, although not designed specifically for a m. website, may be close enough in terms of size (i.e., data size) and dimensions. For example, often a header used in an email marketing message is narrower (such as 300 pixels wide) and is smaller in terms of data. Since the email marketing header 88 is close in width and is less data intensive, the email marketing header 88 could be used as the header in a m. website. In this case, if no m.-specific header asset existed in the family of assets, then the system could choose to use the email marketing header 88 as the header component for the m. website.
- a representative accent image 95 could be associated with the family 99 a .
- the accent image 95 could be an image that appears in some form or another on all products, both electronic (e.g., websites and email marketing) and printed (e.g., business cards, postcards, brochures, etc.).
- the accent image 95 could be incorporated by the m. website generation engine 172 into an image container in a generic m. header.
- FIG. 8 is a flowchart of a method for selecting a m. header based on an existing www. website.
- the matching engine 174 identifies the family of assets from which the www. website is composed (step 230 ). The matching engine 174 then determines whether the www. header has been customized by the user (step 231 )—that is, whether the www. header differs in any way from the standard www. header in the associated family. If so, then the matching engine 174 selects the customized www. header for the m. website (step 232 ). If not, then the matching engine 174 determines whether a m. header belonging to the same family as the www. website exists (step 233 ), and if so, selects the m.
- the matching engine 174 determines whether an Email Marketing header from the same family exists, and if so, selects the Email Marketing header for the m. website (step 236 ). If not, then if a generic m. header exists with an image placeholder and an accent image associated with the same family exists (step 237 ), the matching engine 174 selects the generic m. header and the accent image associated with the family from which the www. website assets belong, and incorporates the accent image into the image placeholder of the generic m. header to use as the m. header in the m. website (step 238 ). Otherwise, the www. header is used as the m. header (step 239 ).
- the mobile website generation engine 172 requests matching m. web page components from the mobile website matching engine 174 , which identifies one or more families of website assets from which the www. components come from.
- the mobile website matching engine 174 selects a family that preferably best represents the matching components of the www. website and returns the family identifier to the mobile website generation engine 172 .
- the mobile website generation engine 172 then pulls the appropriate m. website assets from the website assets database 192 and combines them into a corresponding “matching” mobile-optimized website.
- the mobile website generation engine 172 In addition to automatically selecting m. website components, preferably matching when available, the mobile website generation engine 172 also generates a set of colors for use in the m. website based on a subset of colors in the www. website. As part of rendering the mobile web page, it is desirable that the colors of the m. website matches the colors of the www. website as closely as possible. While the website assets typically include some pre-defined color schemes, including pre-defined colors for the header, background, text, buttons, and button text, the number of pre-defined colors in a given color scheme is often not enough for all the colors needed to make a mobile website look good. For example, additional colors may need to be generated or determined for the following components and states:
- the mobile website generation engine 172 uses the limited number of colors in the color scheme (e.g., the original 5 colors corresponding to the Header color, background, text color, button color, and button text color, as provided by the matching engine 174 , or directly by the customer, if they use the advanced color options), to generate, on-the-fly, all the above colors needed to render the page.
- the limited number of colors in the color scheme e.g., the original 5 colors corresponding to the Header color, background, text color, button color, and button text color, as provided by the matching engine 174 , or directly by the customer, if they use the advanced color options
- the color generation engine 175 performs the following steps:
- the delta for the gradients is dependent on where it's being used. For example, in an embodiment, the background delta is 15, and the button delta is 10. Other delta values may be selected to achieve different gradients and shadow effects.
- color generation code generates a CSS file (a website's cascading stylesheet) and associates the CSS file with the m. website to be used by the mobile website that defines all the colors used in the site.
- a CSS file a website's cascading stylesheet
- mobile websites can be automatically configured with “matching” colors, color gradients and color shadows for components included in the m. website that are not present in the original www. website.
- FIG. 9A is a flowchart illustrating an exemplary method for automatically configuring a m. web page to select and configure an audio player on a mobile device so that audio tags embedded in a m. web page automatically play using the correct audio player for the particular mobile device.
- the mobile website generation engine 172 parses the www. page to detect whether it contains any audio tags (step 240 ).
- the mobile website generation engine 172 extracts from a website assets database 192 special .html code for automatically detecting the browser/device and selecting and configuring the correct audio player to play audio files (step 241 ). The audio autodetection and configuration .html code is then inserted into the m. web page (step 242 ).
- FIG. 9B is a flowchart illustrating the operation of the audio autodetection and configuration .html code when encountered in a m. web page by a browser 105 .
- the audio autodetection and configuration .html code implements functionality for determining the browser and/or device type of the mobile device (step 243 ).
- Each browser has an associated user agent string that identifies the browser type, mobile device type, etc.
- the mobile website generation engine 172 generates a user agent string query to get the user agent string, and then extracts the browser type and/or device type. Often, although not in all cases, the mobile device type can be inferred from the browser type.
- the browser type is an Android browser
- the mobile device is an Android device.
- Different models of a particular device may use different versions of browsers and provide different functionality. Therefore, it can be important to ascertain not only the browser type and/or device type, but also the version number of the browser and/or model number of the device type.
- the audio autodetection and configuration .html code implements functionality for automatically selecting and executing the proper .html code that configures the audio player specific to the mobile device to make the audio player operate correctly (step 244 ).
- JavaScript code snippet which checks whether the mobile device is an Android, and if so, follows Android specific configuration code to display and play audio files. Then, if the mobile device is not an Android, the code checks to see if the mobile device is an iPhone and follows iPhone specific configuration code if the mobile device is in fact an iPhone. If the mobile device is not identified as either an Android or an iPhone, the code defaults to configuring an Adobe Flash player for playing audio files.
- the mobile website URL is “m.domain.com”, where “domain.com” is the domain name of the user's website.
- the mobile site URL does not need to be known or remembered by visitors accessing the website because the server automatically detects when a www. website is being accessed by a mobile device and automatically redirects to the mobile optimized m. website.
- Embodiments of the invention may include a graphical user interface that enables a user to configure, manage, and edit the content and look-and-feel of the optimized matching mobile website that is automatically created by the system.
- the graphical user interface includes user input controls that allow the user to select and edit the automatically selected options to create a different look-and-feel of the m. website.
- the graphical user interface includes a header configuration section which includes controls to allow the user to view and select additional options for headers as well as the automatically-selected matching header.
- the graphical user interface includes a fully-editable studio experience for editing headers.
- the graphical user interface also includes a layout configuration section which includes controls to allow the user to view and select various different layouts for a given m. web page.
- the graphical user interface includes configuration sections for selecting different options for colors and for editing content on the m. web page.
- the graphical user interface also allows a user to add widgets (e.g., social media icons/functionality, maps, hours, etc.) which are automatically configured for mobile sites.
- FIGS. 10A-10O illustrate a set of exemplary web pages that are displayed as a user configures and manages a mobile version of a website.
- FIG. 10A illustrates an example website management page 300 that a user may be presented with in order to configure their website services and edit and manage their website.
- the website management page 300 includes, among other links, an edit link 301 which causes a website editor to load when a user clicks on the link.
- the website editor is downloaded to the client machine to execute in the client browser and interacts with the website building tool.
- the website management page 300 also includes a mobile website management link 302 . When a user clicks on the mobile website management link 302 , a mobile website management page, such as 310 in FIG. 10B .
- the mobile website management page 310 includes an edit link 312 , which links to the mobile website configuration page 320 illustrated in FIG. 10C .
- the mobile website configuration page 320 includes a user interface with configuration options for configuring the look and function of the mobile version of the user's website.
- a mobile version of the www. website i.e., a m. website
- the mobile website generation engine 172 may generate automatic device detection page code and navigation control interface code within the m. web page that gets executed by a mobile device browser that requests the m. web page and which causes the mobile device browser to automatically provide navigation controls suitable for a particular mobile device requesting the m. page.
- a m. web page generated based on a www. page which has navigation buttons in a navigation area may have the navigation buttons replaced by sliders or links on the m. page.
- the mobile website generation engine 172 may generate automatic device detection page code and audio/video player invocation code that gets executed by a mobile device browser that requests the m. web page and which causes the mobile device browser to automatically invoke an audio/video player playable by the mobile device.
- the mobile website configuration page 320 includes different sections 330 , 340 , 350 , 360 of the interface for configuring the header, the layout, the colors, and the content, respectively, of the user's mobile website.
- Other embodiments may provide different tabs, popups, windows, or pages for configuring the different aspects, such as but not limited to the header, the layout, the colors, and the content, of the mobile website.
- each configuration section 330 , 340 , 350 , 360 is displayable in either an expanded view or a collapsed view.
- a section 330 , 340 , 350 , 360 may be expanded or collapsed, for example, by clicking anywhere on the header of each section 330 , 340 , 350 , 360 , or on a button (e.g., an expand/collapse icon), a hyperlink, or other suitable control. Clicking on the header, button, hyperlink or other control, will expand the section to display various configuration options if it is open or collapse the section (to remove the configuration options from view) if it is displayed.
- a button e.g., an expand/collapse icon
- Clicking on the header, button, hyperlink or other control will expand the section to display various configuration options if it is open or collapse the section (to remove the configuration options from view) if it is displayed.
- the mobile website configuration page 320 may also include a dynamic mobile device simulator 370 which not only allows a user to preview changes to the mobile website prior to publishing the website, but also allows the user to try out functionality of the mobile website in a live manner. Details of the simulator are discussed in a later section, but for the present discussion it is sufficient to understand that the simulator 370 includes an image 371 of a mobile device that includes a display screen 372 on which a m. web page is rendered. Changes made to the m. website configuration using the mobile website configuration tool 178 are preferably automatically updated to the m. web page displayed on the display screen 372 of the mobile device simulator 370 .
- the mobile website configuration page 320 defaults to displaying the Header section 330 in an expanded view, with a default matching header 331 a selected (as indicated by the highlighted outline around the header option 331 a ) and displayed as the header in the m. web page rendered in the display screen 372 of the simulator 370 .
- the Header section 330 may display a plurality of different header options 331 a , 331 b , 331 c , 331 d available for selection by the user for use as the m. website header instead of the default matching header 331 a .
- header options include the default matching header option 331 a which is the header selected by the system that “matches” the header of the www. website, header option 331 b which includes the header text of the www. website header with an image positioned to the left of the header text, header option 331 c which includes the image positioned to the right of the text, and header option 331 d which includes the header text without any image.
- the header option corresponding to the current m. website is selected, indicated by a highlighted border around the selected header option.
- the matching header 331 a selected by the system is selected by default.
- the user clicks one of the header options 331 a , 331 b , 331 c , 331 d the selected header option is highlighted and the m. web page loaded in the display screen 372 of the simulator 370 updates.
- FIG. 10D shows the mobile website configuration page 320 upon selection by the user of the header 331 b . As shown, the border of header 331 b is highlighted to indicate that it is selected. Additionally, the dynamic preview simulator 370 is automatically updated by the server to display the selected header 331 b on the display screen 372 of the mobile device simulator 370 .
- the content of the header is editable.
- a user can edit the content of a selected header by clicking on an Edit Header button or link 332 b , which opens a header editing dialog 400 , as shown in FIG. 10E .
- the editing dialog allows the user to select a text container 412 and edit the text contained in the text container 412 , add text (button Add Text 401 ), add image(s) (using button Add Image 402 ), and add or change the background image (using button Change Background Image 403 ).
- Add Text 401 button a text container is placed in the header area and the user can enter text and position the text container where desired within the header boundaries.
- an image container is inserted into the header area, and a dialog (not shown) is presented which assists the user in browser for, and uploading, a selected image for insertion into the image container.
- the image container may also be placed by the user anywhere within the header area.
- FIG. 10F shows the header editing dialog 400 after the user has selected text container 412 by clicking on the text container 412 with mouse cursor 321 .
- a text editing dialog 410 which includes a text input box 420 pre-populated with the user-editable contents of the text container 412 , along with font selection buttons 421 , 422 and 423 .
- the user can make changes to the text by editing the contents in the text input box 420 and selecting the desired font and size using the text configuration buttons 421 , 422 , 423 .
- FIG. 10H shows the mobile website configuration web page 320 when the user selects the Layout section 340 , resulting in the collapsing of the Header section 330 and the expansion of the Layout section 340 .
- the Layout section 340 displays a plurality of different available layouts 341 a , 341 b , 341 c for the web page currently being edited.
- the currently selected layout 341 a is highlighted to indicate selection, and the corresponding m. web page displayed in the display screen area 372 of the simulator 370 reflects the currently selected layout.
- a user can change the layout by clicking, and thereby selecting, a desired layout, for example 341 c .
- the selected layout 341 c is different than the current layout (e.g., 341 a )
- highlighting is removed from the current layout 341 a and added to the selected layout 341 c to indicate current selection, and the corresponding m. web page displayed in the display screen area 372 of the simulator 370 is updated with the new layout selection 341 c , as shown in FIG. 10I .
- the Layout section 340 includes a Manage Pages button 342 which, when clicked, and as shown in FIG. 10J , opens a page ordering dialog 430 .
- the page ordering dialog 430 provides a grid 431 listing the page names and a set of radio buttons indicating which pages should be listed in the navigation panel on each page. Each page can have navigation buttons to a different set of pages, if desired.
- the name of each page, along with the size and type of font, can also be edited by the user.
- the default font is selected by the system to match the font(s) in the www. website.
- the Color configuration section 350 may display a plurality of different color scheme options 351 a , 351 b , 351 c , 351 d available for selection by the user for use as the m. website color scheme.
- the currently selected color scheme 351 a is highlighted.
- a given color scheme may define a set of colors to be used for various components.
- a given color scheme may define specific colors for each of the header background, the web page background, the web page text color, the button color, and the button text color, among others.
- the color selections apply to all pages on the website.
- the m. web page displayed on the display screen 372 of the simulator is updated with the colors from the scheme.
- the color configuration section 350 may also include more advanced color options that allow the user to pick custom colors/schemes for each of the header, the navigation controls (e.g., buttons), text, navigation control text (e.g., button text color), and background.
- the server 170 automatically changes the colors to match the newly-selected header or layout.
- a color picker (not shown) is displayed to allow the user to select a custom color.
- selection of a color from the picker will update the selected option only.
- Color updates in the configuration options 351 a , 351 b , 351 c , 351 d , 352 a , 352 b , 352 c , 352 d , 352 e automatically trigger corresponding changes to the m. web page displayed in the simulator 370 but are not published to the hosted website database 194 until the user requests the page to be published.
- FIG. 10L shows the highlighted color scheme 351 b after selection by the user, and the corresponding update to display 372 in the simulator 370 .
- the Content configuration section 360 allows a user to customize content on their mobile homepage.
- This section allows the user to add a welcome message 361 , phone number 362 , address 363 , email address 364 , and functional widgets, such as but not limited to: Click to Call functionality 362 b , Email functionality 3664 b , Facebook connectivity 365 b , Twitter functionality 366 b , SMS texting functionality 367 b , Map functionality 363 b , and Hours of Operation functionality 368 .
- the Company Name and Company Message are pulled from the www. website.
- ⁇ widget> is the particular widget function such as Click to Call 362 b , Email 364 b , Facebook 365 b , Twitter 366 b , SMS 367 b , Hours of Operation 368 b , Click for Map 363 b , or other types of functional widgets, and adds any required corresponding information such as phone number, email address, Facebook link, Twitter link, SMS link, address, hours of operation, etc.
- the mobile website configuration server 170 enables the associated functional widget when its corresponding “Display ⁇ widget>” checkbox is checked and automatically adds the corresponding functional widget icon to the m. web page and generates and adds corresponding functional widget code to add the functionality of the widget (or at least the functionality of the Application Program Interface (API) of the corresponding widget) to the m. web page.
- the m. web page is then displayed on the display screen 372 of the simulator 370 , as shown in FIG. 10O .
- the Hours of Operation widget may trigger the popup of an hours of operation dialog 440 , shown in FIG. 10N , which presents the user with a grid of days of the week and associated checkboxes 441 followed by user-editable input boxes for opening time 442 and closing time 443 .
- a user can simply check the checkboxes 441 associated with the days of the week that the user's business is open, and edit or select hours from respective drop-down lists 442 , 443 for each corresponding opening time and closing time.
- the “Save” button 445 the Hours of Operation are added to the m. web page and the m. web page displayed on the display screen 372 of the simulator 370 is updated.
- the mobile website management page 320 includes a dynamic preview simulator 370 which displays a depiction 371 of a mobile device, such as a smartphone, that includes a display screen 372 displaying the mobile web page currently being edited or configured via the mobile website management page 320 graphical user interface.
- the mobile web page displayed on the simulator device screen 372 depicts the m. web page as it is currently configured within the mobile website configuration tool 178 and 162 , including the currently selected header, layout, color(s), and content.
- the user makes changes to the selections of the header, layout, color(s), and/or content, the changes are reflected in the mobile web page displayed in the display screen 372 of the dynamic preview simulator 370 .
- the mobile web page displayed on the simulator screen 372 is operationally functional. If the user clicks on the links on the m. web page on the simulator, it loads the page associated with the link on the display screen of the simulator. Changes made within the mobile configuration tool 178 are automatically converted into .html code in the m. web page and loaded into the display screen 372 of the simulator 370 . This way, the user can see how changes to the m. web page configuration selections affect the look and feel of the web page, and can test them out, prior to publishing the changes to the hosted m. website.
- FIG. 11 is a system diagram
- FIG. 12 is an operational diagram, of an embodiment of the system and corresponding interactional operations between the mobile website configuration tool 178 and the simulator tool 179 .
- a mobile website configuration tool 178 is downloaded to the client machine 100 from the mobile configuration server 170 .
- the mobile website configuration tool 178 executes in the web browser 105 of the client machine.
- the website configuration tool 178 is a document editing platform that uses JavaScript, AJAX (Asynchronous JavaScript and XML) (more generally referring to any technique that allows JavaScript to communicate with the server without a page refresh), and Dynamic HMTL (DHTML) (a web programming technique for creating dynamic behavior on a web page), to render documents and allow users to manipulate them.
- the mobile website configuration tool 178 allows a user to reposition elements, change colors, fonts, font styles, sizes, change images, add images, and many other features one would expect to find in a basic image editing application. In this embodiment, much of the workload such as image and text rendering is performed on the server, such as the Preview Server 145 .
- the mobile website configuration tool 178 is written in the well-known JavaScript and utilizes well-known technologies such as Web fonts (i.e., a font object downloaded from a server that can be attached to a web page for styling text elements and does not need to be installed on the client machine to function) and other markup language technologies to provide rich client-side editing capabilities, such as image and text rotation, in-place rich text editing, and word art.
- Web fonts i.e., a font object downloaded from a server that can be attached to a web page for styling text elements and does not need to be installed on the client machine to function
- other markup language technologies to provide rich client-side editing capabilities, such as image and text rotation, in-place rich text editing, and word art.
- the mobile website configuration page 320 when displayed, it includes a section of JavaScript which triggers the download of a script implementing a client-side dynamic mobile device simulator 179 .
- independent scripts representing the mobile website configuration tool 178 and the dynamic mobile device simulator 179 are each started up.
- the dynamic mobile device simulator 179 receives updates representing changes to the current m. web page from the mobile website configuration tool 178 as the user makes the changes.
- the dynamic mobile device simulator 179 interprets the received changes and automatically alters the m. web page with .html code representing the change(s) and re-renders the m. web page within the display screen 372 area of the rendered image 370 of the mobile device.
- the layout change is communicated from the mobile website configuration tool 178 JavaScript to the dynamic mobile device simulator 179 JavaScript.
- the dynamic mobile device simulator 179 JavaScript interprets the layout change to select corresponding .html code representing the layout and to replace the current .html code that implements the layout in the current m. web page with the corresponding selected .html code representing the new layout.
- the dynamic mobile device simulator 179 JavaScript then re-renders at least the m. web page within the image of the mobile device in the mobile website configuration page 320 on the user's display.
- .html code corresponding to each possible layout, color scheme, and content is stored in the website assets database 192 .
- the dynamic mobile device simulator 179 JavaScript requests .html code corresponding to component changes as indicated by communications from the mobile website configuration tool 178 JavaScript, and replaces associated sections of the .html of the m. web page to dynamically update the current m. web page.
- the m. web page rendered therein is also operationally functional. That is, a user viewing the mobile website configuration page 320 can click on a navigation button or other interactive function displayed in the m. web page on the display screen 372 of the simulator 370 , and the function of the button will work. For example, if a user is currently viewing the Home Page of the m. website in the simulator 370 and then clicks on the “About Us” navigation button, the simulator will load the “About Us” page in the display screen 372 .
- the simulator dynamically changes itself as the user makes changes to the mobile website configuration. This also allows a user to dynamically change the m. website and try it out immediately on a simulated mobile device 370 prior to publishing the changes to the hosted website database. There is no need to first publish or save and then preview the m. web page.
- FIG. 12 shows an operational embodiment of the interactions between the mobile website configuration tool 178 and the simulator 179 scripts.
- the mobile website configuration tool 178 receives the user input corresponding to such changes (step 500 ) and translates or interprets the user input to changes in corresponding ⁇ XML> components of the current m. web page (step 501 ).
- Changes can be to content in text containers (i.e., text edits), removal/addition/changing of images in image containers, changes to positions of text or image containers, changes to the website header selection, the layout selection, the color scheme selection, and/or changes to the content and/or functional widgets incorporated into the mobile website.
- the mobile website configuration tool 178 correspondingly updates the GUI to reflect the configuration selections and/or content edits (step 502 ), and sends the updated ⁇ XML> components to the simulator 179 script.
- the simulator 179 script When the simulator 179 script receives an ⁇ XML> component update, (step 504 ), it either generates or looks up in the website asset database 192 corresponding .html code that implements the ⁇ XML> component updates (step 505 ). The simulator 179 then alters the m. web page .html so as to remove unneeded .html code, add new .html code, and/or replace .html code to effect the changes in the current m. web page as represented by the ⁇ XML> updates (step 506 ). The simulator 179 then re-renders the m. web page .html so that it appears in the location of the display screen 372 in the mobile device image 371 (step 507 ).
- the simulator 179 script also polls for user input in the m. web page as rendered at the location of the display screen 372 in the mobile device image 371 (step 509 ). If an action such as a “mouse-click/mouse-up” action occurs, the simulator executes the action indicated by the .html code associated with the link (step 510 ).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- This application is a divisional of prior application Ser. No. 13/342,969 filed on Jan. 3, 2012, which is hereby incorporated by reference in its entirety.
- The present invention relates generally to techniques for building web-based content, and more particularly to techniques and tools for the automated generation of a website optimized for mobile devices based on an existing website.
- Of the over half billion websites that exist today, most were designed and developed for viewing by, and interaction with, users via a traditional computer device—that is, a desktop or laptop computer having a relatively large display screen and a traditional QWERTY-type keyboard. In the past, such computer devices connected to the Internet first via wired connections, and then later more often via wireless connections. During this time, use of computer devices grew exponentially while simultaneously computer hardware grew smaller, faster, and more powerful. More recently, the addition of data connectivity capability to cellular phones, resulting in what is known as the “smartphone”, has transformed not only the phone industry but also the rate of communication between such users and their accompanying expectations of such devices. Smartphone users now connect directly to the Internet and demand the same capabilities they would have had were they browsing the Internet using a traditional computer.
- Recent research has suggested that at the end of 2011, more than 85% of all cell phones were connected to the Internet, with mobile data traffic expected to double every year for several years thereafter, and that by 2016, connections to the Internet via smartphones are predicted to outpace connection by desktop computers. The implications for business owners who want to be found on the Internet by customers, especially in local markets, will be profound.
- The traditional website designed for viewing on a desktop or laptop often involves the download of a significant amount of data in order to capitalize on the relatively large amount of viewing space on the screen, and to implement interactive functionality, animations, video, and/or sound to attract visitors to the website. Websites designed for the traditional computing device can get away with such large data transfer due to the typically high-bandwidth data communication link that such devices use. However, while technology has certainly advanced to allow for increasingly greater data bandwidth and speed, the demand for data, both in terms of volume and speed, has still outpaced the current available communication link technologies. These considerations, coupled with the different physical attributes of the typical cell phone, such as its smaller screen size, smaller or even non-existent keyboard, and typically slower data communication link, require an owner of a website to at least consider creating a mobile-ready website that is optimized for mobile devices.
- As mentioned, a typical mobile device such as a cell phone or pad computer, includes features, such as connection speed, user input mechanisms and screen size, that are fundamentally different than such features provided in a traditional computer device. Considering first the slower data connection that most mobile devices have in comparison to their desktop and laptop counterparts, in a mobile website it is desirable to reduce the amount of data required to be downloaded for each web page in order to provide a better response time when a user requests the web page. In addition to designing the mobile website to download less data, mobile websites may provide different user input controls than the traditional website. The traditional website typically includes navigation buttons, page scrolls, and other functional buttons which are manipulated by pointing, clicking, and other movements of a mouse cursor on the screen. This type of user interface is typically cumbersome for mobile device users, and additionally takes up valuable screen space. Another difference between traditional computer devices and mobile devices is the screen size. Traditional computer devices have larger screens and often place a lot of content on each page. Because screen space is at such a premium, traditional web pages that include a lot of content may be best displayed on a mobile device by breaking the content up into different pages, or by using many of the features, such as sliding, that are already natural to mobile device users. In summary, the end result of using the same website for both traditional computers and for mobile devices may be poor presentation of, and/or user frustration with, the website on the mobile device, which may result in lost customers to the business owner of the website.
- All of the aforementioned differences between the mobile device as compared to the desktop or laptop device can lead to fundamental differences in the design of a website that is intended for display on mobile devices versus the website that is intended for display on a traditional computer. A website optimized for a mobile device is characterized by at least one of several optimization features, including utilizing content that is less data-intensive, and provisioning the website with mobile-appropriate user interface features.
- Unfortunately, however, the idea of having to design of a mobile-ready website that is separate and different from their traditional website can be daunting to many website owners, as such process can be both time-consuming and costly. In essence, the cost and time required to design a mobile-ready website may be on the same order as that of the design of the original website. It would therefore be desirable to have a way to quickly and automatically generate a mobile-ready website. It would further be desirable to automatically match the mobile-ready website such that at least some of the content, and the look and feel, match that of an existing website. It would further be desirable to have an interactive user interface for editing a mobile website. It would still further be desirable to automatically, or allow a user to, incorporate features, icons, and functionality accessible on the Internet (such as, but not limited to, links to social media accounts, click-to-call, maps, directions, etc.) into the mobile website and to automatically configure the mobile website to enable the functionality of such features.
- Presented herein are techniques and tools for the automated generation of a website optimized for mobile devices based on an existing website. Embodiments of the invention includes systems and method for automatically generating a mobile-optimized website from an existing www. website, including automated matching of suitable mobile-optimized headers, automated generation of a matching color scheme/gradients/shadows based on a limited subset of colors from the www. website, automated addition of device-specific autodetection and configuration code in mobile web pages that include audio tags. Additional embodiments of the present invention include a mobile website design studio for editing and configuring a mobile website, including configuration and selection options for the mobile website header, layout, color scheme, and functional widget content. In one embodiment, the mobile website design studio includes a fully editable header. In yet another embodiment, the mobile website configuration engine includes a dynamically modifiable mobile device simulator.
-
FIG. 1 is a block diagram of a networked client-server system; -
FIG. 2 is a block diagram illustrating an exemplary system architecture of a system in which embodiments of the present invention operate; -
FIG. 3 is a block diagram illustrating a map of an exemplary website and its corresponding mobile-optimized website; -
FIG. 4 is communications diagram illustrating the creation and publishing of a conventional website and its corresponding mobile-optimized website; -
FIG. 5A is an example of a Home Page of a conventional website; -
FIG. 5B is an anatomical view of the Home Page ofFIG. 5A ; -
FIG. 5C is an example of an About Us web page of a conventional website; -
FIG. 5A is an example of a Contacts web page of a conventional website; -
FIG. 6 illustrates the difference in display screen shape, size, and pixel count between a conventional desktop or laptop display and a mobile device display; -
FIG. 7 is a block diagram illustrating an example set of website component assets stored in a website assets database; -
FIG. 8 is an exemplary method for selecting a m. header based on an existing www. website; -
FIG. 9A is a flowchart illustrating an exemplary method for automatically configuring a mobile-optimized web page to select and configure an audio player on a mobile device; -
FIG. 9B is a flowchart illustrating an exemplary operation of the audio autodetection and configuration description when encountered in a mobile-optimized web page by a browser; -
FIGS. 10A-10O illustrate a set of exemplary web pages that are displayed as a user configures and manages a mobile version of a website; -
FIG. 11 is a system diagram of an embodiment of a system and corresponding interactional operations between the mobile website configuration tool and a dynamically modifiable mobile device simulator; -
FIG. 12 is an operational diagram illustrating the interactional operations between the mobile website configuration tool and mobile device simulator ofFIG. 11 . - Although the present invention is described below by way of various embodiments that include specific structures and methods, embodiments that include alternative structures and methods may be employed without departing from the principles of the invention described herein.
- In general, embodiments described below feature a network-based application that automatically generates a website optimized for mobile devices based on an existing website. A preferred embodiment of the present invention features a network-based application for automatically converting assets of a designated website into corresponding assets of a mobile-ready website that are optimized for mobile devices. A preferred embodiment of the present invention may also feature a network-based design application which allows a user to edit and configure features of a mobile-ready website.
- In one embodiment, the present invention is implemented as a web-based service that may be accessed through the Internet, for example, using a Web browser. The service provides an interface that allows a user to select a website and request the generation of a matching mobile-ready website. The request is received at a server which automatically generates a website optimized for mobile devices and which preferably matches the look-and-feel of the selected website. The service further provides a design environment which allows the user to make changes to the automatically generated mobile website and to publish the mobile website.
- Further preferred embodiments of the present invention may feature automated matching of mobile-ready page headers to match the headers of the traditional website page headers, automated generation of a matching color scheme based on selected colors of the original website, and automated detection and configuration of appropriate audio players when the mobile website is loaded at a mobile device.
- An introduction to Internet-related technology is helpful in understanding the present invention. The Internet is a vast and expanding network of computers and other devices linked together by various telecommunications media, enabling the various components to exchange and share data. Web pages and websites (collections of related web pages organized under a particular domain), accessible through Internet, provide information about numerous businesses, products and services, as well as education, research, and entertainment.
- A resource that is attached to the Internet is often referred to as a “host.” Examples of such resources include conventional computer systems that are made up of one or more processors, associated memory and other storage devices and peripherals, such as modems, networks interfaces and the like that allow for connection to the Internet or other networks. In most cases, the hosting resource may be embodied as hardware and/or software components of a server or other computer system that includes an interface module, which allows for some dialog with users and that may process information input by the user. Generally, such a server will be accessed through the Internet's graphical user interface, the World Wide Web, (e.g., via Web browsers) in the conventional fashion.
- In order to facilitate communications between hosts, each host has a numerical Internet Protocol (IP) address. The IP address of a hypothetical host computer might be 69.17.223.11. Each host also has a unique “fully qualified domain name.” In the case of the hypothetical host 69.17.223.11, the “fully qualified domain name” might be “computer.domain.com”, the three elements of which are the hostname (“computer”), a domain name (“domain”) and a top-level domain (“com”). A given host looks up the IP address of other hosts on the Internet through a system known as domain name service.
- A page of a website is addressable by way of a Uniform Resource Locator, or “URL”. A URL specifies three elements: (1) a transfer protocol; (2) a web server name or domain name; and (3) a path. The first element of the URL is a transfer protocol, most commonly “http” standing for hypertext transfer protocol, but others include “mailto” for electronic mail, “ftp” for file transfer protocol, and “nntp” for network news transfer protocol. The domain name indicates the name of the web server that stores the web page. The path indicates the location of web page on the named web server.
- As previously indicated, in order to access the Internet most users rely on computer programs known as “Web browsers.” Commercially available Web browsers include such well-known programs as Microsoft's Internet Explorer, Apple's Safari, Google's Chrome, and Mozilla Firefox, to name a few. If an Internet user desires to view a Web page hosted at www.domain.com, the Internet user might enter into a Web browser program the uniform resource locator (URL) “http://www.domain.com”.
- Once a URL is entered into the browser, the request is routed to a Domain Name System (DNS) server capable of matching the domain name specified in the URL to a corresponding IP address of a web server hosting the requested web page. Thus, the DNS server ultimately matches an alphanumeric name such as www.domain.com with its numeric IP address 69.17.223.11.
- When a host receives a request from the Internet, it returns the data in the file pointed to by the request to the client making the request. Such data may make up a Web page, which may include a text message, sound, image, video, or a combination of such elements. A user can move between Web pages through the use of hyperlinks, which are links to other pages or locations on pages on the Internet.
- An integral component of the present invention is a computer server. Servers are computer programs that provide some service to other programs, called clients. A
client 5 andserver 20 ofFIG. 1 communicate by means of message passing often over anetwork 10, and use some protocol, a set of formal rules describing how to transmit data, to encode the client's requests and/or responses and the server's responses and/or requests. The server may run continually waiting for client's requests and/or responses to arrive or it may be invoked by some higher-level continually running server that controls a number of specific servers. - Architecture
- With these concepts in mind, an embodiment of a system architecture of the present invention is presented in
FIG. 2 . Services for automatically generating and configuring a mobile website may be accessed throughclient machines 100 that runbrowser applications 105 to provide graphical interfaces for a user to effectively use the mobile website services. Theclient machines 100 communicate with aserver machine 120 via anetwork 110, e.g. Internet. Theserver machine 120 includes such components of the present invention as aweb server 130, anapplication server 140, aPreview server 145, awebsite management server 150, a website configuration server 160, a mobile website configuration server 170, and adatabase server 180. It will be appreciated that these servers may run on other machines that are accessible by theserver machine 120, and further that theserver machine 120 may comprise one or more server machines working together to perform the functionality described herein. In an embodiment of the present invention, databases for storingwebsite asset 192, hostedwebsites 194,product information 196,customer information 198,customer orders 199, etc. are also stored at theserver machine 120. However, it will be appreciated that databases may be stored at other machines and database data may be uploaded to theserver machine 120 when necessary. - The
application server 140 comprises awebsite management server 150 that includes a website configuration server 160 and a mobile website configuration server 170. The mobile website configuration server 170 includes a mobilewebsite generation engine 172, a mobilewebsite matching engine 174, and a mobilewebsite configuration engine 176. The mobilewebsite generation engine 172 automatically generates a mobile version of an existing website such that the mobile version of the website is optimized for mobile devices. The mobilewebsite generation engine 172 may utilize the services of the mobilewebsite matching engine 174 to include mobile website assets that match at least some content and look and feel of the existing website. The mobilewebsite configuration engine 176 allows a user, operating aclient machine 100 and using aweb browser 105, to configure features and make changes to the mobile website. Website assets, such as images, text content, audio files, etc. may be provided at the server machine, or alternatively, one or more website assets may be uploaded to the server by the user from theclient machine 100. Website assets may be stored in one or morewebsite asset databases 192. - A traditional website is a set of one or more web pages served by a web server at a particular domain name. A web page is typically a text document containing text and browser-interpretable instructions, such as the well-known Hypertext Markup Language (HTML or XHTML), Dynamic HTML (DHTML), Document Object Model (DOM), etc. A
browser 105 running on aclient machine 100 requests a web page by specifying the Universal Resource Locator (URL) of the specific page, and upon receiving the requested page from theserver 120, renders the page on the user's display screen by processing and executing the browser-interpretable instructions. Web pages may be linked to other web pages by way of hyperlinks placed within the page(s). Typically, a hyperlink specifies a URL of a web page, a position in the web page, or a resource accessible by the server serving the web page. - A typical website consists of a home page that is served when the URL specifies the domain name without specifying a particular path (e.g., www.mycompany.com). Additional pages belonging to a website may be specified by way of the path following the domain name in the URL. For example, a “Contact Us” web page for the www.mycompany.com website may be specified as “www.mycompany.com/ContactUs”, where the path “/ContactUs” in the URL indicates the location at the web server of the “Contact Us” web page.
- With reference now to
FIG. 3 , a website may consist of a plurality ofrelated web pages FIG. 3 , a www. website includes aHome Page 30, aContact page 32, an About Us page 34, aProducts page 36, and one or moreadditional web pages 38. A corresponding mobile-ready website would then consist of a mobile-optimizedHome page 40, a mobile-optimizedContact page 42, a mobile-optimizedAbout Us page 44, a mobile-optimizedProducts page 46, and corresponding mobile-optimizedadditional web pages 48. For convenience of description, each of the various web pages of the conventional website is hereinafter referred to as a “www. web page” or a “www. document”, while each of the various web pages of a corresponding mobile-optimized website is hereinafter referred to as a “m. web page” or a “m. document”. - Returning to
FIG. 2 , in an embodiment, the conventional www. web pages are typically created and updated using an interactive configuration andediting tool 102, hereinafter referred to as a “website building tool”. In one embodiment, thewebsite building tool 102 is downloaded from theserver 130 to theclient machine 100 to run in theclient browser 105. Thewebsite building tool 102 provides a graphical user interface that allows a creator or designer of a website to, among other actions, select page formats, add and modify content on the pages of the website, add or delete pages of the website, etc. Generally, thewebsite building tool 102 receives user input for various formatting aspects, such as layout, color and/or color scheme, text fonts, content (including text, images, videos, audio, and scripts). The user input typically is received via a graphical user interface (GUI) that presents various options and input areas and translates the selected options and user input into a browser-renderable language such as HTML. - In an embodiment, during editing of a www. web page of a website, the
website building tool 102 modifies a copy of a selected corresponding current web page of the site. The modified copy of the edited web page is not visible to the public until it gets published to the hostedwebsites database 194. Thewebsite building tool 102 includes a publish control (such as a button), which allows the user of thewebsite building tool 102 to publish the edited page once he or she is satisfied with any changes made to the page. - In an embodiment, the
website building tool 102 includes a preview function which allows the website owner to preview the changes made to the page prior to publishing it. To preview the changes, a Preview button may, when clicked by the user using a mouse or other input device, trigger the loading and rendering of the edited page into a browser for display to the user. The Publish button triggers the writing of the HTML version of the edited page to the hostedweb pages database 194, overwriting the corresponding existing page if one exists. - In a preferred embodiment of the present invention, a corresponding mobile-optimized website (hereinafter a “m. website”) is automatically created and/or updated when a conventional website (hereinafter referred to as a “www. website”) is created and/or updated. This may happen in one of several ways. In one embodiment, a corresponding m. web page is created automatically and without user request by the mobile
website generation engine 172 each time a www. web page is created by the user. The corresponding m. page preferably matches at least some content and the corresponding look and feel of the www. web page. In another preferred embodiment of the present invention, a m. website is initially created only when the user requests creation of the m. website. The mobilewebsite generation engine 172 then operates in conjunction with the mobilewebsite matching engine 174 to pull mobile website assets optimized for mobile devices from thewebsite asset database 192 that match the website assets present on the www. website and to perform additional mobile-specific optimization to generate an initial m. website for the user. - In another preferred embodiment a mobile
website configuration engine 176 allows a user to actively select and/or modify various configuration options including page layout, colors and color schemes, text fonts, content, and other features on the m. website. -
FIG. 4 is an operational diagram illustrating client-server actions and communications in accordance with an embodiment of the present invention. Initially, a www. web page is either created or an existing www. web page is edited (step 50). During editing and design on theclient machine 100, the description and placement of the components may be abstracted from a .html browser-renderable format to a browser-independent XML-type format that describes the appearance and placement of various components (such as text containers, text content, image containers, image content, fonts, colors, layouts, etc.) of a particular www. web page. The XML page description is sent by theclient 100 to the website configuration server 160, where the website configuration engine 162 generates a .html page (step 51). When the user (or thewebsite configuration tool 172 running in the user's browser 105) requests a preview of the edited web page (step 52), the server 160 sends the .html web page corresponding to the edited page to theclient machine 100, where it is rendered in the client's browser 105 (step 54).Steps 50 through 54 may be repeated until the user is satisfied with the edits. - The user may at some point request that the edited web page be published to the hosted website database 194 (step 55). The
website management server 150, upon receipt of such request, instructs thedatabase server 180 to write the .html web page corresponding to the edited web page to the hosted websites database 194 (step 56). - The mobile website configuration server 170 automatically generates a corresponding mobile-optimized version of the edited web page (step 57). This may occur either automatically at the direction of the
website management server 150, or automatically upon request by the user (step 58). In an embodiment, the mobile website configuration server 170 triggers the automatic generation of a m. web page corresponding to the newly edited www. web page, preferably in both the <XML> format used by the mobilewebsite configuration tool 178 and .html format renderable by web browsers 105 (step 59). The mobilewebsite generation engine 172 communicates with the mobilewebsite matching engine 174 to retrieve mobile-ready website assets (such as mobile-optimized headers, layouts, color schemes, content and functionality) from thewebsite assets database 192 that match the look-and-feel of the conventional website assets of the user's www. website. - The user may view the system-generated m. website and decide to customize the configuration. The user may invoke the mobile
website configuration tool 178, which sends the <XML> of at least one m. web page to the mobile website configuration engine 176 (step 59). The mobilewebsite configuration tool 178 receives user input configuration selections and sends <XML> updates to the mobile website configuration engine 176 (step 60), which generates a corresponding .html page (step 63). When requested by the user or by the mobile configurationwebsite configuration tool 178, the server sends the .html m. web page to theclient 100 where it is rendered on the user's display screen in the browser 105 (step 64). - Eventually, the user may request that the changes made to the m. web page or m. website be published to the hosted websites database 194 (step 65). Upon receipt of such request from the
client 100, thewebsite management server 150 copies (and replaces any existing page if necessary) the new .html m. web page containing the changes made by the user through the mobilewebsite configuration tool 178 to the hosted websites database 194 (step 66), where it becomes available to the public and accessible to be served by theweb server 130. - Turning now to details of the mobile
website generation engine 172, it is useful to first understand the various components of a conventional web page in order to understand how a conventional web page can be optimized for mobile devices. -
FIGS. 5A-5D exemplify a set of screen shots of various web pages of an example website.FIG. 5A displays aHome page 200 of the example website.FIG. 5B illustrates an embodiment of various components that make up the anatomy of theHome page 200. As illustrated, theHome page 200 includes anouter background 201, aninner background 202, a header 203, afooter 205, anavigation panel 207, a repeatablemiddle portion 206, and acontent area 209. In an embodiment, theuser content area 209 may vertically expand and contract to fit the amount of content inserted in theuser content area 209. As theuser content 209 expands beyond the existing container size (in the vertical direction), one or more instances of the repeatablemiddle portion 206 are added to page so that the user content area does not expand into thefooter 205. Conversely, when theuser content 209 is edited to remove content such that the vertical space occupied by the user content allows one or more instances of the repeatablemiddle portion 206 to be removed from the page while still not resulting in the user content area overlapping thefooter 205, then those one or more instances of the repeatable middle portion are removed automatically by the website building tool. - In a www. website, which has more display area than available on mobile devices, portions (e.g., 204 a) of the artwork 204 (comprising
portions 204 a and 204 b) (such as a logo or image) in the header may extend vertically into one or more of theinner background 202 ornavigation area 207. Theheader artwork 204 then appears to partially wrap around one or both of the top corners of theuser content area 209. The resulting appearance may be such to reduce the “building-block” look of the website, resulting in a more sophisticated appearance which is more aesthetically pleasing to the user. -
FIG. 5C illustrates of an example “About Us”web page 210 andFIG. 5D illustrates an example “Contact”web page 220, both of which are part of the same website as theHome page 200. Notably, all threepages outer background 201,inner background 202, header 203,footer 205,navigation panel 207, and repeatablemiddle portion 206, while the content displayed in thecontent area 209 of each page differs. This gives the website a coherent look and feel, and allows eachpage navigation panel 207. - As previously mentioned, a conventional (.www) website is typically created for display on a
desktop 71 orlaptop 70, which is typically wider than it is tall. A typical number of pixels on a conventional desktop orlaptop display 75 might be, for example, 800 pixels wide by 600 pixels long. In contrast, thedisplay screen 76 on a typicalmobile device 72 is usually longer than it is wide. For example, a typical mobile device might provide 320 pixels width by 480 pixels length. This is illustrated inFIG. 6 . In a conventional website, the designer sets the size and content of the header (see 204 inFIG. 5B ). The www. header is typically designed to span the width of the conventional laptop ordesktop display 75 and is thus greater in width than the width of the typical mobile device (i.e., header 203 is typically greater than 320 pixels wide). Thus, when rendered on a mobile device, either or both sides of the header may appear cut off when rendered on a mobile device. In addition, portions of artwork that appear to be part of the www. header (but are actually implemented as background to another page component such as the navigation panel or inner background), may appear cut off along the bottom edge if the www. header is rendered on a mobile device unless the other component that implements the complementing artwork is also rendered. For example, as previously described in connection withFIG. 5B , a conventional website header that appears to includeartwork 204 that extends vertically into theinner background area 202 ornavigation area 207 may in fact be implemented ascomplementary pieces 204 a, 204 b in different components (header 202 and navigation area 207) that come together to form asingle artwork piece 204 when rendered on a conventional display. However, because the width of the typical mobile device is much smaller than the width on a desktop or laptop display, a website that is optimized for mobile devices might not utilize thenavigational area component 207 from the www. website at all, or at the very least might reposition thenavigational area component 207, for example to the center of the m. web page. Thus, the complementary portion 204 b of theartwork 204 would either not be displayed (in the case of not rendering the www. navigational area component 207) or may be offset so that the complementary artwork portion 204 b does not align with theprimary artwork portion 204 a (in the case of centering or otherwise repositioning thenavigational area component 207 with respect to the header component 203). Accordingly, an independent mobile-optimized header is ideally used in place of the www. header 203 when generating a mobile-optimized website. -
FIG. 7 depicts a structural diagram of a portion of awebsite assets database 192. Thewebsite assets database 192 contains components and descriptions such as headers, navigational components, background images, inner background images, footers, layouts, color schemes, accent images, font schemes, template descriptions, and any type of component or scheme that may be used as a component in a web page. A web page may include a plurality of different components arranged (such as layouts, headers, footers, backgrounds, text components, and images) and/or applied (such as color schemes, font schemes, backgrounds, layouts, etc.) according to a page description (typically .html). - In order to allow for computer-automated product matching, such as websites, mobile websites, email marketing campaigns, and printed products such as business cards, postcards, brochures, etc., the assets can be categorized into families of “matching” assets. Matching assets are components that share a common image or look-and-feel such that when different matching assets are used across different type of products (such as websites, mobile website, email marketing and printed products), all of the different types of products appear to have a coordinated look—i.e., they appear to belong to the same set of coordinated products. This may be achieved by using one or more of the same image, color scheme, font scheme, etc., and/or by using multiple different images having a similar theme along with an identical color scheme, font scheme, or other component.
- Components that are considered to “match” one another are considered to be in the same “family” of assets. Thus, a designer of a www. website may have designed a www.
header 81, www.navigation area 82, a www.layout 83, a www.inner background 84, a www.footer 85, afont scheme 86, and acolor scheme 87. In order to generate matching email campaigns, the designer may also have created amatching Email header 88. In order to generate matching designs for business cards, postcards, and brochures, the designer may have generated corresponding matching printed product assets that are used by an automated design generation engine to create matching products. - In one embodiment, families of matching assets also preferably include matching m. webpage assets. For example, when a designer generates website assets for a particular www. design that can be automatically combined by a computer system to generate a web page, the designer may at that time also create a
matching m. header 91 that is designed to fit on the display screen of a mobile device. Them. header 91 may further be designed to require less data to download to the mobile device in order to allow the m. web page to load more quickly. One way to achieve less data in the header is to reduce the images used and the resolution of the images. - The m. web page assets may also include one or more
navigational panels different layout styles - In some instance, the website designer may not have generated a m. header or other corresponding assets. In these instances, alternative techniques for generating m. components that match the www. website as closely as possible are necessitated. The particular path to follow depends in part on what assets are available from the family from which the www. assets belong. For example, there may be a different asset in the same family that, although not designed specifically for a m. website, may be close enough in terms of size (i.e., data size) and dimensions. For example, often a header used in an email marketing message is narrower (such as 300 pixels wide) and is smaller in terms of data. Since the
email marketing header 88 is close in width and is less data intensive, theemail marketing header 88 could be used as the header in a m. website. In this case, if no m.-specific header asset existed in the family of assets, then the system could choose to use theemail marketing header 88 as the header component for the m. website. - Alternatively, for any given family of assets, a
representative accent image 95 could be associated with thefamily 99 a. Theaccent image 95 could be an image that appears in some form or another on all products, both electronic (e.g., websites and email marketing) and printed (e.g., business cards, postcards, brochures, etc.). Theaccent image 95 could be incorporated by the m.website generation engine 172 into an image container in a generic m. header. -
FIG. 8 is a flowchart of a method for selecting a m. header based on an existing www. website. As illustrated, given an existing www. website, thematching engine 174 identifies the family of assets from which the www. website is composed (step 230). Thematching engine 174 then determines whether the www. header has been customized by the user (step 231)—that is, whether the www. header differs in any way from the standard www. header in the associated family. If so, then thematching engine 174 selects the customized www. header for the m. website (step 232). If not, then thematching engine 174 determines whether a m. header belonging to the same family as the www. website exists (step 233), and if so, selects the m. header from the corresponding family as the m. header for the m. website (step 234). If no m. header from the same family exists (step 235), then thematching engine 174 determines whether an Email Marketing header from the same family exists, and if so, selects the Email Marketing header for the m. website (step 236). If not, then if a generic m. header exists with an image placeholder and an accent image associated with the same family exists (step 237), thematching engine 174 selects the generic m. header and the accent image associated with the family from which the www. website assets belong, and incorporates the accent image into the image placeholder of the generic m. header to use as the m. header in the m. website (step 238). Otherwise, the www. header is used as the m. header (step 239). - In an embodiment, the mobile
website generation engine 172 requests matching m. web page components from the mobilewebsite matching engine 174, which identifies one or more families of website assets from which the www. components come from. The mobilewebsite matching engine 174 selects a family that preferably best represents the matching components of the www. website and returns the family identifier to the mobilewebsite generation engine 172. The mobilewebsite generation engine 172 then pulls the appropriate m. website assets from thewebsite assets database 192 and combines them into a corresponding “matching” mobile-optimized website. - In addition to automatically selecting m. website components, preferably matching when available, the mobile
website generation engine 172 also generates a set of colors for use in the m. website based on a subset of colors in the www. website. As part of rendering the mobile web page, it is desirable that the colors of the m. website matches the colors of the www. website as closely as possible. While the website assets typically include some pre-defined color schemes, including pre-defined colors for the header, background, text, buttons, and button text, the number of pre-defined colors in a given color scheme is often not enough for all the colors needed to make a mobile website look good. For example, additional colors may need to be generated or determined for the following components and states: - Background light gradient color
- Background dark gradient color
- Button light gradient color
- Button dark gradient color
- Button hover light gradient color
- Button hover dark gradient color
- Button pressed light gradient color
- Button pressed dark gradient color
- Page text shadowing color
- Button text shadowing color
- Button border color
- Because of the limited number of pre-defined colors in a given color scheme, the mobile
website generation engine 172 uses the limited number of colors in the color scheme (e.g., the original 5 colors corresponding to the Header color, background, text color, button color, and button text color, as provided by thematching engine 174, or directly by the customer, if they use the advanced color options), to generate, on-the-fly, all the above colors needed to render the page. - Below is an exemplary method for generating additional colors and color gradients given a limited set of “matching” colors from the www. website or as selected from the
matching engine 174. In particular, the color generation engine 175 performs the following steps: -
- For all gradients
- If the brightness of the color is >0.3 (on a scale of 0 to 1)
- Subtract a delta from the color value (where the color value ranges from 0 to 255).
- Put the light color on top and dark on bottom
- If brightness of color is <0.3 (on a scale of 0 to 1)
- Add a delta to the color value (where the color value ranges from 0 to 255).
- Put light color on top, and dark on bottom
- If the brightness of the color is >0.3 (on a scale of 0 to 1)
- For all shadows:
- Subtract a delta from the base color value (to make it darker)
- Limit the color to black, and never make brighter than the original color
- For all gradients
- The delta for the gradients is dependent on where it's being used. For example, in an embodiment, the background delta is 15, and the button delta is 10. Other delta values may be selected to achieve different gradients and shadow effects.
- Once the resulting list of colors is generated, color generation code generates a CSS file (a website's cascading stylesheet) and associates the CSS file with the m. website to be used by the mobile website that defines all the colors used in the site.
- Using the color generation engine 175, mobile websites can be automatically configured with “matching” colors, color gradients and color shadows for components included in the m. website that are not present in the original www. website.
- In addition to automatically selecting m. website components, preferably matching when available, the mobile
website generation engine 172 also parses the content of each www. web page to determine whether it has audio components or tags incorporated into the page. If so, the mobilewebsite generation engine 172 adds .html code to automatically detect the browser and/or mobile device type and to select and configure the correct audio player to work on the mobile device that requested the page.FIG. 9A is a flowchart illustrating an exemplary method for automatically configuring a m. web page to select and configure an audio player on a mobile device so that audio tags embedded in a m. web page automatically play using the correct audio player for the particular mobile device. As illustrated, the mobilewebsite generation engine 172 parses the www. page to detect whether it contains any audio tags (step 240). If not, the corresponding m. web page does not require optimization for audio and the method is complete. If the www. web page contains any audio tags, however, the mobilewebsite generation engine 172 extracts from awebsite assets database 192 special .html code for automatically detecting the browser/device and selecting and configuring the correct audio player to play audio files (step 241). The audio autodetection and configuration .html code is then inserted into the m. web page (step 242). -
FIG. 9B is a flowchart illustrating the operation of the audio autodetection and configuration .html code when encountered in a m. web page by abrowser 105. As illustrated, the audio autodetection and configuration .html code implements functionality for determining the browser and/or device type of the mobile device (step 243). Each browser has an associated user agent string that identifies the browser type, mobile device type, etc. In an embodiment, the mobilewebsite generation engine 172 generates a user agent string query to get the user agent string, and then extracts the browser type and/or device type. Often, although not in all cases, the mobile device type can be inferred from the browser type. For example, if the browser type is an Android browser, then one can infer that the mobile device is an Android device. Different models of a particular device may use different versions of browsers and provide different functionality. Therefore, it can be important to ascertain not only the browser type and/or device type, but also the version number of the browser and/or model number of the device type. - Given the browser type (and preferably version number) and/or device type (and preferably model number), the audio autodetection and configuration .html code implements functionality for automatically selecting and executing the proper .html code that configures the audio player specific to the mobile device to make the audio player operate correctly (step 244).
- Below is an example JavaScript code snippet which checks whether the mobile device is an Android, and if so, follows Android specific configuration code to display and play audio files. Then, if the mobile device is not an Android, the code checks to see if the mobile device is an iPhone and follows iPhone specific configuration code if the mobile device is in fact an iPhone. If the mobile device is not identified as either an Android or an iPhone, the code defaults to configuring an Adobe Flash player for playing audio files.
- Audio Autodetection and Configuration Code (written in JavaScript):
-
var createMobileAudioByDevice = function 0 { var audioPlayers = $(″.audio-player″); if (audioPlayers.length > 0) { $.each(audioPlayers, function (i, element) { var linkHref = $(element).find(″a″).attr(″href″); var playerId = $(element).attr(″id″) + ″_player″; var player; if (navigator.userAgent.indexOf(″Mobile″) >= 0 && navigator.userAgent.indexOf(″Safari″) >= 0) { player = $(″<audio></audio>″) .attr(″id″, playerId) .attr(″controls″, ″″) .attr(″preload″, ″auto″) .attr(″autobuffer″, ″″); player.append( $(″<source></source>″).attr(″src″, linkHref) ); $(element).html(player); } else if (navigator.userAgent.indexOf(″Android″) >= 0) { player = $(″<audio></audio>″) .attr(″id″, playerId) .attr(″src″, linkHref) .attr(″class″, ″audio″) .attr(″audio″, ″true″) .attr(″controls″, ″″) .attr(″width″, ″95%″); $(element).html(player); } else { inlineContentLoad(AUDIO_PLAYER_JAVASCRIPT, function 0 { AudioPlayer.setup(AUDIO_PLAYER_FLASH, {width: ″95%″, transparentpagebg: ″yes″ }); AudioPlayer.embed($(element).attr(″id″), { ′soundFile′: linkHref }); }); } }); } }; - In an embodiment, the mobile website URL is “m.domain.com”, where “domain.com” is the domain name of the user's website. In a preferred embodiment, however, the mobile site URL does not need to be known or remembered by visitors accessing the website because the server automatically detects when a www. website is being accessed by a mobile device and automatically redirects to the mobile optimized m. website.
- Mobile Website Configuration and User Interface
- Embodiments of the invention may include a graphical user interface that enables a user to configure, manage, and edit the content and look-and-feel of the optimized matching mobile website that is automatically created by the system. The graphical user interface includes user input controls that allow the user to select and edit the automatically selected options to create a different look-and-feel of the m. website. In an embodiment, the graphical user interface includes a header configuration section which includes controls to allow the user to view and select additional options for headers as well as the automatically-selected matching header. In a preferred embodiment, the graphical user interface includes a fully-editable studio experience for editing headers. In an embodiment, the graphical user interface also includes a layout configuration section which includes controls to allow the user to view and select various different layouts for a given m. web page. Similarly, the graphical user interface includes configuration sections for selecting different options for colors and for editing content on the m. web page. The graphical user interface also allows a user to add widgets (e.g., social media icons/functionality, maps, hours, etc.) which are automatically configured for mobile sites.
-
FIGS. 10A-10O illustrate a set of exemplary web pages that are displayed as a user configures and manages a mobile version of a website.FIG. 10A illustrates an examplewebsite management page 300 that a user may be presented with in order to configure their website services and edit and manage their website. Thewebsite management page 300 includes, among other links, anedit link 301 which causes a website editor to load when a user clicks on the link. In an embodiment, the website editor is downloaded to the client machine to execute in the client browser and interacts with the website building tool. Thewebsite management page 300 also includes a mobilewebsite management link 302. When a user clicks on the mobilewebsite management link 302, a mobile website management page, such as 310 inFIG. 10B . The mobilewebsite management page 310 includes anedit link 312, which links to the mobilewebsite configuration page 320 illustrated inFIG. 10C . - The mobile
website configuration page 320 includes a user interface with configuration options for configuring the look and function of the mobile version of the user's website. In an embodiment, if a mobile website has not yet been created when the user clicks on thelink 312, a mobile version of the www. website, i.e., a m. website, is automatically generated by the mobilewebsite generation engine 172 by selecting mobile website assets from thewebsite assets database 192 that match corresponding assets of the www. website. The mobilewebsite generation engine 172 may generate automatic device detection page code and navigation control interface code within the m. web page that gets executed by a mobile device browser that requests the m. web page and which causes the mobile device browser to automatically provide navigation controls suitable for a particular mobile device requesting the m. page. For example, a m. web page generated based on a www. page which has navigation buttons in a navigation area may have the navigation buttons replaced by sliders or links on the m. page. - Similarly, the mobile
website generation engine 172 may generate automatic device detection page code and audio/video player invocation code that gets executed by a mobile device browser that requests the m. web page and which causes the mobile device browser to automatically invoke an audio/video player playable by the mobile device. - Referring again to
FIG. 10C , in the embodiment shown, the mobilewebsite configuration page 320 includesdifferent sections configuration section section section - The mobile
website configuration page 320 may also include a dynamicmobile device simulator 370 which not only allows a user to preview changes to the mobile website prior to publishing the website, but also allows the user to try out functionality of the mobile website in a live manner. Details of the simulator are discussed in a later section, but for the present discussion it is sufficient to understand that thesimulator 370 includes animage 371 of a mobile device that includes adisplay screen 372 on which a m. web page is rendered. Changes made to the m. website configuration using the mobilewebsite configuration tool 178 are preferably automatically updated to the m. web page displayed on thedisplay screen 372 of themobile device simulator 370. - In an embodiment, the mobile
website configuration page 320 defaults to displaying theHeader section 330 in an expanded view, with adefault matching header 331 a selected (as indicated by the highlighted outline around theheader option 331 a) and displayed as the header in the m. web page rendered in thedisplay screen 372 of thesimulator 370. - The
Header section 330 may display a plurality ofdifferent header options default matching header 331 a. For example, in theheader configuration section 330, header options include the default matchingheader option 331 a which is the header selected by the system that “matches” the header of the www. website,header option 331 b which includes the header text of the www. website header with an image positioned to the left of the header text,header option 331 c which includes the image positioned to the right of the text, andheader option 331 d which includes the header text without any image. When a user navigates to theheader section 330 of the mobilewebsite configuration page 320, the header option corresponding to the current m. website is selected, indicated by a highlighted border around the selected header option. Thus, the first time a user navigates to theheader section 330 of the mobilewebsite configuration page 320, the matchingheader 331 a selected by the system is selected by default. Then, when the user clicks one of theheader options display screen 372 of thesimulator 370 updates. -
FIG. 10D shows the mobilewebsite configuration page 320 upon selection by the user of theheader 331 b. As shown, the border ofheader 331 b is highlighted to indicate that it is selected. Additionally, thedynamic preview simulator 370 is automatically updated by the server to display the selectedheader 331 b on thedisplay screen 372 of themobile device simulator 370. - In an embodiment, the content of the header is editable. A user can edit the content of a selected header by clicking on an Edit Header button or link 332 b, which opens a
header editing dialog 400, as shown inFIG. 10E . The editing dialog allows the user to select atext container 412 and edit the text contained in thetext container 412, add text (button Add Text 401), add image(s) (using button Add Image 402), and add or change the background image (using button Change Background Image 403). When a user selects theAdd Text 401 button, a text container is placed in the header area and the user can enter text and position the text container where desired within the header boundaries. Similarly, when a user selects theAdd Image 402 button, an image container is inserted into the header area, and a dialog (not shown) is presented which assists the user in browser for, and uploading, a selected image for insertion into the image container. The image container may also be placed by the user anywhere within the header area. -
FIG. 10F shows theheader editing dialog 400 after the user has selectedtext container 412 by clicking on thetext container 412 withmouse cursor 321. As shown, such action results in the opening of atext editing dialog 410, which includes atext input box 420 pre-populated with the user-editable contents of thetext container 412, along withfont selection buttons text input box 420 and selecting the desired font and size using thetext configuration buttons OK button 425 to close thedialog 410 and trigger the updating of the text changes to both the display of thecorresponding header option 331 b in theheader section 330, and to the m. web page displayed on thedisplay screen 372 of thesimulator 370, as shown inFIG. 10G . -
FIG. 10H shows the mobile websiteconfiguration web page 320 when the user selects theLayout section 340, resulting in the collapsing of theHeader section 330 and the expansion of theLayout section 340. TheLayout section 340 displays a plurality of differentavailable layouts layout 341 a is highlighted to indicate selection, and the corresponding m. web page displayed in thedisplay screen area 372 of thesimulator 370 reflects the currently selected layout. A user can change the layout by clicking, and thereby selecting, a desired layout, for example 341 c. If the selectedlayout 341 c is different than the current layout (e.g., 341 a), highlighting is removed from thecurrent layout 341 a and added to the selectedlayout 341 c to indicate current selection, and the corresponding m. web page displayed in thedisplay screen area 372 of thesimulator 370 is updated with thenew layout selection 341 c, as shown inFIG. 10I . - In an embodiment, the
Layout section 340 includes a ManagePages button 342 which, when clicked, and as shown inFIG. 10J , opens apage ordering dialog 430. Thepage ordering dialog 430 provides agrid 431 listing the page names and a set of radio buttons indicating which pages should be listed in the navigation panel on each page. Each page can have navigation buttons to a different set of pages, if desired. The name of each page, along with the size and type of font, can also be edited by the user. The default font is selected by the system to match the font(s) in the www. website. - The
Color configuration section 350 may display a plurality of differentcolor scheme options color scheme 351 a is highlighted. A given color scheme may define a set of colors to be used for various components. For example, a given color scheme may define specific colors for each of the header background, the web page background, the web page text color, the button color, and the button text color, among others. In an embodiment, the color selections apply to all pages on the website. When a color scheme is clicked, the m. web page displayed on thedisplay screen 372 of the simulator is updated with the colors from the scheme. - The
color configuration section 350 may also include more advanced color options that allow the user to pick custom colors/schemes for each of the header, the navigation controls (e.g., buttons), text, navigation control text (e.g., button text color), and background. In an embodiment, if a user is still using the automatically-selected matching colors (to their main www. website), and a new header or layout is selected, the server 170 automatically changes the colors to match the newly-selected header or layout. When a user selects one of thebuttons configuration options simulator 370 but are not published to the hostedwebsite database 194 until the user requests the page to be published. -
FIG. 10L shows the highlightedcolor scheme 351 b after selection by the user, and the corresponding update to display 372 in thesimulator 370. - Moving next to the
Content configuration section 360, shown inFIG. 10M , TheContent configuration section 360 allows a user to customize content on their mobile homepage. This section allows the user to add awelcome message 361, phone number 362,address 363,email address 364, and functional widgets, such as but not limited to: Click to Callfunctionality 362 b, Email functionality 3664 b,Facebook connectivity 365 b,Twitter functionality 366 b,SMS texting functionality 367 b,Map functionality 363 b, and Hours ofOperation functionality 368. In an embodiment, the Company Name and Company Message are pulled from the www. website. To add a functional widget, the user clicks the “Display <widget>”checkbox Email 364 b,Facebook 365 b,Twitter 366 b,SMS 367 b, Hours ofOperation 368 b, Click forMap 363 b, or other types of functional widgets, and adds any required corresponding information such as phone number, email address, Facebook link, Twitter link, SMS link, address, hours of operation, etc. Then, for any functional widget in theContent configuration section 360 having an associated checkbox option to display the functional widget, the mobile website configuration server 170 enables the associated functional widget when its corresponding “Display <widget>” checkbox is checked and automatically adds the corresponding functional widget icon to the m. web page and generates and adds corresponding functional widget code to add the functionality of the widget (or at least the functionality of the Application Program Interface (API) of the corresponding widget) to the m. web page. The m. web page is then displayed on thedisplay screen 372 of thesimulator 370, as shown inFIG. 10O . - The Hours of Operation widget may trigger the popup of an hours of
operation dialog 440, shown inFIG. 10N , which presents the user with a grid of days of the week and associatedcheckboxes 441 followed by user-editable input boxes for openingtime 442 and closing time 443. A user can simply check thecheckboxes 441 associated with the days of the week that the user's business is open, and edit or select hours from respective drop-downlists 442, 443 for each corresponding opening time and closing time. When the user clicks the “Save”button 445, the Hours of Operation are added to the m. web page and the m. web page displayed on thedisplay screen 372 of thesimulator 370 is updated. - As described above, in preferred embodiments of the present invention, the mobile
website management page 320 includes adynamic preview simulator 370 which displays adepiction 371 of a mobile device, such as a smartphone, that includes adisplay screen 372 displaying the mobile web page currently being edited or configured via the mobilewebsite management page 320 graphical user interface. The mobile web page displayed on thesimulator device screen 372 depicts the m. web page as it is currently configured within the mobilewebsite configuration tool 178 and 162, including the currently selected header, layout, color(s), and content. As the user makes changes to the selections of the header, layout, color(s), and/or content, the changes are reflected in the mobile web page displayed in thedisplay screen 372 of thedynamic preview simulator 370. - Furthermore, the mobile web page displayed on the
simulator screen 372 is operationally functional. If the user clicks on the links on the m. web page on the simulator, it loads the page associated with the link on the display screen of the simulator. Changes made within themobile configuration tool 178 are automatically converted into .html code in the m. web page and loaded into thedisplay screen 372 of thesimulator 370. This way, the user can see how changes to the m. web page configuration selections affect the look and feel of the web page, and can test them out, prior to publishing the changes to the hosted m. website. -
FIG. 11 is a system diagram, andFIG. 12 is an operational diagram, of an embodiment of the system and corresponding interactional operations between the mobilewebsite configuration tool 178 and the simulator tool 179. Referring first to the system diagram inFIG. 11 , generally, when the user navigates to the mobile website configuration page 320 (seeFIGS. 10A-10O ) to edit or change the mobile website configuration, a mobilewebsite configuration tool 178 is downloaded to theclient machine 100 from the mobile configuration server 170. The mobilewebsite configuration tool 178 executes in theweb browser 105 of the client machine. In one embodiment, thewebsite configuration tool 178 is a document editing platform that uses JavaScript, AJAX (Asynchronous JavaScript and XML) (more generally referring to any technique that allows JavaScript to communicate with the server without a page refresh), and Dynamic HMTL (DHTML) (a web programming technique for creating dynamic behavior on a web page), to render documents and allow users to manipulate them. In an embodiment, the mobilewebsite configuration tool 178 allows a user to reposition elements, change colors, fonts, font styles, sizes, change images, add images, and many other features one would expect to find in a basic image editing application. In this embodiment, much of the workload such as image and text rendering is performed on the server, such as thePreview Server 145. - In an alternative embodiment, the mobile
website configuration tool 178 is written in the well-known JavaScript and utilizes well-known technologies such as Web fonts (i.e., a font object downloaded from a server that can be attached to a web page for styling text elements and does not need to be installed on the client machine to function) and other markup language technologies to provide rich client-side editing capabilities, such as image and text rotation, in-place rich text editing, and word art. In this type of embodiment, most of the workload is performed on theclient machine 100 because the fonts are downloaded as needed. - As also indicated in
FIG. 11 , when the mobilewebsite configuration page 320 is displayed, it includes a section of JavaScript which triggers the download of a script implementing a client-side dynamic mobile device simulator 179. - When the mobile
website configuration page 320 is loaded into theclient browser 105, independent scripts representing the mobilewebsite configuration tool 178 and the dynamic mobile device simulator 179 are each started up. The dynamic mobile device simulator 179 receives updates representing changes to the current m. web page from the mobilewebsite configuration tool 178 as the user makes the changes. The dynamic mobile device simulator 179 interprets the received changes and automatically alters the m. web page with .html code representing the change(s) and re-renders the m. web page within thedisplay screen 372 area of the renderedimage 370 of the mobile device. - For example, suppose a user selects a change to the layout of the m. web page using the mobile
website configuration tool 178. In this case, the layout change is communicated from the mobilewebsite configuration tool 178 JavaScript to the dynamic mobile device simulator 179 JavaScript. The dynamic mobile device simulator 179 JavaScript interprets the layout change to select corresponding .html code representing the layout and to replace the current .html code that implements the layout in the current m. web page with the corresponding selected .html code representing the new layout. The dynamic mobile device simulator 179 JavaScript then re-renders at least the m. web page within the image of the mobile device in the mobilewebsite configuration page 320 on the user's display. - In an embodiment, .html code corresponding to each possible layout, color scheme, and content is stored in the
website assets database 192. The dynamic mobile device simulator 179 JavaScript requests .html code corresponding to component changes as indicated by communications from the mobilewebsite configuration tool 178 JavaScript, and replaces associated sections of the .html of the m. web page to dynamically update the current m. web page. - Because the m. web page is actually .html, and the m. web page is rendered in the
display screen area 372 of themobile device image 371 depicting thesimulator 370, the m. web page rendered therein is also operationally functional. That is, a user viewing the mobilewebsite configuration page 320 can click on a navigation button or other interactive function displayed in the m. web page on thedisplay screen 372 of thesimulator 370, and the function of the button will work. For example, if a user is currently viewing the Home Page of the m. website in thesimulator 370 and then clicks on the “About Us” navigation button, the simulator will load the “About Us” page in thedisplay screen 372. In this manner, the simulator dynamically changes itself as the user makes changes to the mobile website configuration. This also allows a user to dynamically change the m. website and try it out immediately on a simulatedmobile device 370 prior to publishing the changes to the hosted website database. There is no need to first publish or save and then preview the m. web page. -
FIG. 12 shows an operational embodiment of the interactions between the mobilewebsite configuration tool 178 and the simulator 179 scripts. As a user enters selections using the GUI of the mobilewebsite configuration tool 178, the mobilewebsite configuration tool 178 receives the user input corresponding to such changes (step 500) and translates or interprets the user input to changes in corresponding <XML> components of the current m. web page (step 501). Changes can be to content in text containers (i.e., text edits), removal/addition/changing of images in image containers, changes to positions of text or image containers, changes to the website header selection, the layout selection, the color scheme selection, and/or changes to the content and/or functional widgets incorporated into the mobile website. The mobilewebsite configuration tool 178 correspondingly updates the GUI to reflect the configuration selections and/or content edits (step 502), and sends the updated <XML> components to the simulator 179 script. - When the simulator 179 script receives an <XML> component update, (step 504), it either generates or looks up in the
website asset database 192 corresponding .html code that implements the <XML> component updates (step 505). The simulator 179 then alters the m. web page .html so as to remove unneeded .html code, add new .html code, and/or replace .html code to effect the changes in the current m. web page as represented by the <XML> updates (step 506). The simulator 179 then re-renders the m. web page .html so that it appears in the location of thedisplay screen 372 in the mobile device image 371 (step 507). - Meanwhile, the simulator 179 script also polls for user input in the m. web page as rendered at the location of the
display screen 372 in the mobile device image 371 (step 509). If an action such as a “mouse-click/mouse-up” action occurs, the simulator executes the action indicated by the .html code associated with the link (step 510). - In the foregoing specification the present invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made to the specific exemplary embodiments without departing from the broader spirit and scope of the invention as set forth in the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
- Furthermore, it is to be understood that all systems and methods described herein can be embodied in hardware, including one or more processors and associated non-transitory computer-readable memory storing computer-readable program instructions which, when executed by the one or more processors, implement the servers, systems, and methods described herein.
Claims (24)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/351,486 US20130174015A1 (en) | 2012-01-03 | 2012-01-17 | Dynamically modifiable mobile device simulator |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/342,969 US9311427B2 (en) | 2012-01-03 | 2012-01-03 | Automated generation of mobile optimized website based on an existing conventional web page description |
US13/351,486 US20130174015A1 (en) | 2012-01-03 | 2012-01-17 | Dynamically modifiable mobile device simulator |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/342,969 Division US9311427B2 (en) | 2012-01-03 | 2012-01-03 | Automated generation of mobile optimized website based on an existing conventional web page description |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130174015A1 true US20130174015A1 (en) | 2013-07-04 |
Family
ID=48695973
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/342,969 Expired - Fee Related US9311427B2 (en) | 2012-01-03 | 2012-01-03 | Automated generation of mobile optimized website based on an existing conventional web page description |
US13/351,486 Abandoned US20130174015A1 (en) | 2012-01-03 | 2012-01-17 | Dynamically modifiable mobile device simulator |
US13/351,435 Expired - Fee Related US9645977B2 (en) | 2012-01-03 | 2012-01-17 | Systems and methods for configuring a header and layout of a mobile version of a conventional website |
US15/088,699 Abandoned US20160217106A1 (en) | 2012-01-03 | 2016-04-01 | Automated generation of mobile optimized website |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/342,969 Expired - Fee Related US9311427B2 (en) | 2012-01-03 | 2012-01-03 | Automated generation of mobile optimized website based on an existing conventional web page description |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/351,435 Expired - Fee Related US9645977B2 (en) | 2012-01-03 | 2012-01-17 | Systems and methods for configuring a header and layout of a mobile version of a conventional website |
US15/088,699 Abandoned US20160217106A1 (en) | 2012-01-03 | 2016-04-01 | Automated generation of mobile optimized website |
Country Status (1)
Country | Link |
---|---|
US (4) | US9311427B2 (en) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140055495A1 (en) * | 2012-08-22 | 2014-02-27 | Lg Cns Co., Ltd. | Responsive user interface engine for display devices |
US20140207818A1 (en) * | 2013-01-22 | 2014-07-24 | Go Daddy Operating Company, LLC | Configuring an origin server content delivery using a pulled data list |
US20140214692A1 (en) * | 2013-01-30 | 2014-07-31 | International Business Machines Corporation | System Advisor for Requirements Gathering and Analysis in Web Solutions |
US20140229818A1 (en) * | 2013-02-12 | 2014-08-14 | Yahoo! Inc. | Dynamic generation of mobile web experience |
US20140281905A1 (en) * | 2013-03-13 | 2014-09-18 | International Business Machines Corporation | Mobilizing a web application to take advantage of a native device capability |
US20140359000A1 (en) * | 2013-06-04 | 2014-12-04 | Dynalab (Singapore) Ltd. | Method for remotely assisting user in setting utility program |
US20150135104A1 (en) * | 2013-11-13 | 2015-05-14 | Johannes Osterhoff | Grid designer for multiple contexts |
US20150331596A1 (en) * | 2014-05-15 | 2015-11-19 | Oracle International Corporation | Ui-driven model extensibility in multi-tier applications |
US20150339276A1 (en) * | 2014-05-22 | 2015-11-26 | Craig J. Bloem | Systems and methods for producing custom designs using vector-based images |
US20160055132A1 (en) * | 2014-08-20 | 2016-02-25 | Vertafore, Inc. | Automated customized web portal template generation systems and methods |
US20160234267A1 (en) * | 2015-02-06 | 2016-08-11 | Adobe Systems Incorporated | Sharing digital content using an interactive send service system |
US9426202B2 (en) | 2013-03-13 | 2016-08-23 | International Business Machines Corporation | Transforming application cached template using personalized content |
US20170171322A1 (en) * | 2015-12-09 | 2017-06-15 | Art.Com, Inc. | Session hand-off for mobile applications |
US9830626B1 (en) * | 2014-02-28 | 2017-11-28 | EMC IP Holding Company LLC | Pre-calculated performance simulation |
US9881332B2 (en) | 2014-05-22 | 2018-01-30 | LogoMix, Inc. | Systems and methods for customizing search results and recommendations |
US9934208B2 (en) * | 2016-01-08 | 2018-04-03 | Adobe Systems Incorporated | Populating visual designs with web content |
US10083156B2 (en) | 2013-03-13 | 2018-09-25 | International Business Machines Corporation | Mobile enablement of webpages |
US10346501B2 (en) | 2013-03-13 | 2019-07-09 | International Business Machines Corporation | Mobile enablement of existing web sites |
US10498853B2 (en) | 2015-09-28 | 2019-12-03 | Walmart Apollo, Llc | Cloud-based data session provisioning, data storage, and data retrieval system and method |
US10726491B1 (en) * | 2015-12-28 | 2020-07-28 | Plaid Inc. | Parameter-based computer evaluation of user accounts based on user account data stored in one or more databases |
US10789320B2 (en) | 2014-12-05 | 2020-09-29 | Walmart Apollo, Llc | System and method for generating globally-unique identifiers |
US20200401648A1 (en) * | 2015-07-30 | 2020-12-24 | Wix.Com Ltd. | System integrating a mobile device application creation, editing and distribution system with a website design system |
US10878421B2 (en) | 2017-07-22 | 2020-12-29 | Plaid Inc. | Data verified deposits |
US10904239B2 (en) | 2015-09-08 | 2021-01-26 | Plaid Inc. | Secure permissioning of access to user accounts, including secure deauthorization of access to user accounts |
US10984468B1 (en) | 2016-01-06 | 2021-04-20 | Plaid Inc. | Systems and methods for estimating past and prospective attribute values associated with a user account |
US11030682B1 (en) | 2014-05-21 | 2021-06-08 | Plaid Inc. | System and method for programmatically accessing financial data |
US11216527B2 (en) * | 2018-08-22 | 2022-01-04 | Citrix Systems, Inc. | Color scheme generator for web applications |
US11216814B1 (en) | 2014-05-21 | 2022-01-04 | Plaid Inc. | System and method for facilitating programmatic verification of transactions |
US11316862B1 (en) | 2018-09-14 | 2022-04-26 | Plaid Inc. | Secure authorization of access to user accounts by one or more authorization mechanisms |
US11327960B1 (en) | 2020-10-16 | 2022-05-10 | Plaid Inc. | Systems and methods for data parsing |
US11397505B2 (en) * | 2014-10-15 | 2022-07-26 | Liveperson, Inc. | System and method for interactive application preview |
US11449661B2 (en) * | 2012-02-20 | 2022-09-20 | Wix.Com Ltd. | System and method for extended dynamic layout |
US11468085B2 (en) | 2017-07-22 | 2022-10-11 | Plaid Inc. | Browser-based aggregation |
US20230037009A1 (en) * | 2021-07-30 | 2023-02-02 | L&A Video Consulting GmbH | Media platform and method for providing structured access to media content |
US11887069B2 (en) | 2020-05-05 | 2024-01-30 | Plaid Inc. | Secure updating of allocations to user accounts |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898630B2 (en) | 2011-04-06 | 2014-11-25 | Media Direct, Inc. | Systems and methods for a voice- and gesture-controlled mobile application development and deployment platform |
US8978006B2 (en) | 2011-04-06 | 2015-03-10 | Media Direct, Inc. | Systems and methods for a mobile business application development and deployment platform |
US8898629B2 (en) | 2011-04-06 | 2014-11-25 | Media Direct, Inc. | Systems and methods for a mobile application development and deployment platform |
US9134964B2 (en) | 2011-04-06 | 2015-09-15 | Media Direct, Inc. | Systems and methods for a specialized application development and deployment platform |
US9311427B2 (en) | 2012-01-03 | 2016-04-12 | Cimpress Schweiz Gmbh | Automated generation of mobile optimized website based on an existing conventional web page description |
EP2805289A4 (en) * | 2012-01-16 | 2015-07-01 | 3M Innovative Properties Co | Systems and methods for rule-based content generation |
US9146911B1 (en) * | 2012-07-17 | 2015-09-29 | Google Inc. | Predicting expansion directions for expandable content item environments |
US10614156B1 (en) | 2012-11-14 | 2020-04-07 | Worldwide Creative Techniques, Llc | System and method for using a dynamic webpage editor |
US9772682B1 (en) * | 2012-11-21 | 2017-09-26 | Open Text Corporation | Method and system for dynamic selection of application dialog layout design |
KR101953710B1 (en) | 2013-03-14 | 2019-05-31 | 윅스.컴 리미티드 | A system and method for dialog customization |
US20140281886A1 (en) * | 2013-03-14 | 2014-09-18 | Media Direct, Inc. | Systems and methods for creating or updating an application using website content |
US10122824B1 (en) | 2013-09-13 | 2018-11-06 | Reflektion, Inc. | Creation and delivery of individually customized web pages |
US9798779B2 (en) | 2014-04-14 | 2017-10-24 | International Business Machines Corporation | Obtaining desired web content for a mobile device |
US9660933B2 (en) * | 2014-04-17 | 2017-05-23 | Go Daddy Operating Company, LLC | Allocating and accessing hosting server resources via continuous resource availability updates |
US9876776B2 (en) * | 2014-04-24 | 2018-01-23 | Usablenet Inc. | Methods for generating and publishing a web site based on selected items and devices thereof |
WO2015183235A1 (en) * | 2014-05-27 | 2015-12-03 | Hewlett Packard Development Company, L.P. | Response based on browser engine |
CN105320505A (en) * | 2014-06-25 | 2016-02-10 | 中兴通讯股份有限公司 | Script processing method and device |
US9684729B2 (en) * | 2014-06-30 | 2017-06-20 | Quixey, Inc. | Displaying search results on a user device using a layout file |
JP6672309B2 (en) * | 2014-09-09 | 2020-03-25 | ライブパーソン, インコーポレイテッド | Dynamic code management |
US10110701B2 (en) * | 2014-11-17 | 2018-10-23 | Google Llc | Structured entity information page |
US20160232130A1 (en) * | 2015-02-05 | 2016-08-11 | Syntel, Inc. | Mobile web application framework |
US9961126B2 (en) | 2015-04-29 | 2018-05-01 | International Business Machines Corporation | Managing data access on a computing device |
US9977506B2 (en) | 2015-05-22 | 2018-05-22 | Microsoft Technology Licensing, Llc | Input optimization based on frequency of use |
US9886246B2 (en) * | 2015-07-13 | 2018-02-06 | International Business Machines Corporation | Dynamically building mobile applications |
US10049085B2 (en) * | 2015-08-31 | 2018-08-14 | Qualtrics, Llc | Presenting views of an electronic document |
US10445377B2 (en) * | 2015-10-15 | 2019-10-15 | Go Daddy Operating Company, LLC | Automatically generating a website specific to an industry |
US10521503B2 (en) | 2016-09-23 | 2019-12-31 | Qualtrics, Llc | Authenticating a respondent to an electronic survey |
US11126685B2 (en) * | 2016-10-28 | 2021-09-21 | Ebay Inc. | Preview and optimization of publication for target computing device |
US10706735B2 (en) | 2016-10-31 | 2020-07-07 | Qualtrics, Llc | Guiding creation of an electronic survey |
CN108174302B (en) * | 2016-12-07 | 2020-10-30 | 广州华多网络科技有限公司 | Method and device for updating activity function playing method in live broadcast application |
US10268657B2 (en) * | 2017-06-06 | 2019-04-23 | Tealium Inc. | Configuration of content site user interaction monitoring in data networks |
WO2019036652A1 (en) * | 2017-08-18 | 2019-02-21 | CML Media Corp. | Systems, media, and methods for conducting intelligent web presence redesign |
US11003832B2 (en) * | 2018-02-07 | 2021-05-11 | Microsoft Technology Licensing, Llc | Embedded action card in editable electronic document |
US11962665B2 (en) * | 2018-06-07 | 2024-04-16 | Cloudflare, Inc. | Automatically redirecting mobile client devices to optimized mobile content |
US11595250B2 (en) * | 2018-09-02 | 2023-02-28 | Vmware, Inc. | Service insertion at logical network gateway |
US10671806B2 (en) * | 2018-10-04 | 2020-06-02 | Binyamin Tsabba | Customized customer relationship management platform method and devices |
US11132418B2 (en) * | 2019-08-01 | 2021-09-28 | Kindest, Inc. | Systems and methods for generating floating button interfaces on a web browser |
US11792257B2 (en) * | 2019-12-31 | 2023-10-17 | Advantage Integrated Solutions, Inc. | Form engine |
US11663399B1 (en) * | 2022-08-29 | 2023-05-30 | Bank Of America Corporation | Platform for generating published reports with position mapping identification and template carryover reporting |
Citations (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6055522A (en) * | 1996-01-29 | 2000-04-25 | Futuretense, Inc. | Automatic page converter for dynamic content distributed publishing system |
US20010012281A1 (en) * | 1997-11-25 | 2001-08-09 | Hans Hall | Controlling mobile phone system user views from the world-wide web |
US20010048436A1 (en) * | 2000-04-03 | 2001-12-06 | Sanger Terence David | Method and apparatus for sending electronic mail using human handwriting |
US6671692B1 (en) * | 1999-11-23 | 2003-12-30 | Accenture Llp | System for facilitating the navigation of data |
US20040002843A1 (en) * | 2002-05-13 | 2004-01-01 | Consolidated Global Fun Unlimited, Llc | Method and system for interacting with simulated phenomena |
US20080120393A1 (en) * | 2006-11-16 | 2008-05-22 | Sap Ag | Web control simulators for mobile devices |
US20080161006A1 (en) * | 2004-11-12 | 2008-07-03 | Marco Ferrato | Simulating a Mobile Network with Shared Access Channels |
US20090055758A1 (en) * | 2007-08-24 | 2009-02-26 | Creative Technology Ltd | host implemented method for customising a secondary device |
US20090075697A1 (en) * | 2007-09-13 | 2009-03-19 | Research In Motion Limited | System and method for interfacing between a mobile device and a personal computer |
US20090144041A1 (en) * | 2007-11-30 | 2009-06-04 | Larry Ira Goldsmith | System and method for simulating a semiconductor wafer prober and a class memory test handler |
US20090164300A1 (en) * | 2007-12-21 | 2009-06-25 | Yahoo! Inc. | Application program interface and graphical user interface for providing a user interface for targeting mobile advertisements in a mobile marketing environment |
US20110125838A1 (en) * | 2007-10-25 | 2011-05-26 | Bindu Rama Rao | System for automated generation and deployment of customized mobile apps for multiple mobile device platforms |
US20110209046A1 (en) * | 2010-02-11 | 2011-08-25 | Zheng Huang | Optimizing web content display on an electronic mobile reader |
US20120060087A1 (en) * | 2010-09-02 | 2012-03-08 | Mohamad Jame | System and method for converting an existing website into a mobile compatible website |
US20120102087A1 (en) * | 2010-10-20 | 2012-04-26 | Mskynet, Inc. | Link status system and method |
US8196035B2 (en) * | 2008-09-18 | 2012-06-05 | Itai Sadan | Adaptation of a website to mobile web browser |
US8204734B2 (en) * | 2008-12-29 | 2012-06-19 | Verizon Patent And Licensing Inc. | Multi-platform software application simulation systems and methods |
US20120155292A1 (en) * | 2010-12-15 | 2012-06-21 | Apple Inc. | Mobile hardware and network environment simulation |
US20120240063A1 (en) * | 2011-03-18 | 2012-09-20 | International Business Machines Corporation | Web site sectioning for mobile web browser usability |
US20130080887A1 (en) * | 2011-09-26 | 2013-03-28 | Zhaorong Hou | Simulation of web applications and secondary devices in a web browser, web application development tools, and methods using the same |
US20130273853A1 (en) * | 2012-04-16 | 2013-10-17 | Mobile Experience Solutions, Inc. | Mobile device monitoring and testing |
US20130282892A1 (en) * | 2012-04-23 | 2013-10-24 | Ithai Levi | Event extractor |
US8589142B2 (en) * | 2005-06-29 | 2013-11-19 | Qualcomm Incorporated | Visual debugging system for 3D user interface program |
US20140081616A1 (en) * | 2005-06-10 | 2014-03-20 | Wapp Tech Corp | System And Method For Emulating And Profiling A Frame-Based Application Playing On A Mobile Device |
US8719001B1 (en) * | 2008-11-25 | 2014-05-06 | Sprint Communications Company L.P. | Remote configuration of widgets |
US20140173454A1 (en) * | 2012-12-18 | 2014-06-19 | Logic Studio, S.A. | Method and system for designing, deploying and executing transactional multi-platform mobile applications |
US8806646B1 (en) * | 2011-04-27 | 2014-08-12 | Twitter, Inc. | Detecting malware in mobile sites |
US8825856B1 (en) * | 2008-07-07 | 2014-09-02 | Sprint Communications Company L.P. | Usage-based content filtering for bandwidth optimization |
US20150120572A1 (en) * | 2013-10-25 | 2015-04-30 | Nitro Mobile Solutions, LLC | Location based mobile deposit security feature |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6101509A (en) | 1996-09-27 | 2000-08-08 | Apple Computer, Inc. | Method and apparatus for transmitting documents over a network |
US7987271B1 (en) * | 2002-08-12 | 2011-07-26 | Cisco Technology, Inc. | Methods and apparatus for inserting content within a content page |
US10156959B2 (en) * | 2005-03-16 | 2018-12-18 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
US10444964B2 (en) * | 2007-06-12 | 2019-10-15 | Icontrol Networks, Inc. | Control system user interface |
US20050240857A1 (en) * | 2004-04-02 | 2005-10-27 | Jason Benedict | Methods and systems of information portal construction |
US9910838B2 (en) * | 2005-09-20 | 2018-03-06 | Adobe Systems Incorporated | Alternates of assets |
US20080072139A1 (en) * | 2006-08-20 | 2008-03-20 | Robert Salinas | Mobilizing Webpages by Selecting, Arranging, Adapting, Substituting and/or Supplementing Content for Mobile and/or other Electronic Devices; and Optimizing Content for Mobile and/or other Electronic Devices; and Enhancing Usability of Mobile Devices |
US20080235580A1 (en) * | 2007-03-20 | 2008-09-25 | Yahoo! Inc. | Browser interpretable document for controlling a plurality of media players and systems and methods related thereto |
CN101657813A (en) | 2007-04-04 | 2010-02-24 | 香港科技大学 | The self-defined of webpage played up on the mobile device |
US20090270076A1 (en) * | 2008-04-29 | 2009-10-29 | Microsoft Corporation | Performance optimizer for mobile devices website |
US20100037168A1 (en) * | 2008-07-10 | 2010-02-11 | Nile Thayne | Systems and methods for webpage design |
US20100199197A1 (en) * | 2008-11-29 | 2010-08-05 | Handi Mobility Inc | Selective content transcoding |
CN102985915B (en) * | 2010-05-10 | 2016-05-11 | 网际网路控制架构网络有限公司 | Control system user interface |
JP2012018486A (en) * | 2010-07-06 | 2012-01-26 | Toshiba Corp | Information processing device and display position control method for user interface |
AU2011201674B1 (en) * | 2011-04-14 | 2012-07-19 | Limelight Networks, Inc. | Advanced embed code |
US9311427B2 (en) | 2012-01-03 | 2016-04-12 | Cimpress Schweiz Gmbh | Automated generation of mobile optimized website based on an existing conventional web page description |
US10176154B2 (en) * | 2013-09-12 | 2019-01-08 | Wix.Com Ltd. | System and method for automated conversion of interactive sites and applications to support mobile and other display environments |
US9262389B2 (en) * | 2012-08-02 | 2016-02-16 | International Business Machines Corporation | Resource-adaptive content delivery on client devices |
US9817804B2 (en) * | 2013-09-12 | 2017-11-14 | Wix.Com Ltd. | System for comparison and merging of versions in edited websites and interactive applications |
-
2012
- 2012-01-03 US US13/342,969 patent/US9311427B2/en not_active Expired - Fee Related
- 2012-01-17 US US13/351,486 patent/US20130174015A1/en not_active Abandoned
- 2012-01-17 US US13/351,435 patent/US9645977B2/en not_active Expired - Fee Related
-
2016
- 2016-04-01 US US15/088,699 patent/US20160217106A1/en not_active Abandoned
Patent Citations (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6055522A (en) * | 1996-01-29 | 2000-04-25 | Futuretense, Inc. | Automatic page converter for dynamic content distributed publishing system |
US20010012281A1 (en) * | 1997-11-25 | 2001-08-09 | Hans Hall | Controlling mobile phone system user views from the world-wide web |
US6671692B1 (en) * | 1999-11-23 | 2003-12-30 | Accenture Llp | System for facilitating the navigation of data |
US20010048436A1 (en) * | 2000-04-03 | 2001-12-06 | Sanger Terence David | Method and apparatus for sending electronic mail using human handwriting |
US20040002843A1 (en) * | 2002-05-13 | 2004-01-01 | Consolidated Global Fun Unlimited, Llc | Method and system for interacting with simulated phenomena |
US20080161006A1 (en) * | 2004-11-12 | 2008-07-03 | Marco Ferrato | Simulating a Mobile Network with Shared Access Channels |
US20140081616A1 (en) * | 2005-06-10 | 2014-03-20 | Wapp Tech Corp | System And Method For Emulating And Profiling A Frame-Based Application Playing On A Mobile Device |
US8589142B2 (en) * | 2005-06-29 | 2013-11-19 | Qualcomm Incorporated | Visual debugging system for 3D user interface program |
US20080120393A1 (en) * | 2006-11-16 | 2008-05-22 | Sap Ag | Web control simulators for mobile devices |
US20090055758A1 (en) * | 2007-08-24 | 2009-02-26 | Creative Technology Ltd | host implemented method for customising a secondary device |
US20090075697A1 (en) * | 2007-09-13 | 2009-03-19 | Research In Motion Limited | System and method for interfacing between a mobile device and a personal computer |
US20110125838A1 (en) * | 2007-10-25 | 2011-05-26 | Bindu Rama Rao | System for automated generation and deployment of customized mobile apps for multiple mobile device platforms |
US20090144041A1 (en) * | 2007-11-30 | 2009-06-04 | Larry Ira Goldsmith | System and method for simulating a semiconductor wafer prober and a class memory test handler |
US20090164300A1 (en) * | 2007-12-21 | 2009-06-25 | Yahoo! Inc. | Application program interface and graphical user interface for providing a user interface for targeting mobile advertisements in a mobile marketing environment |
US8825856B1 (en) * | 2008-07-07 | 2014-09-02 | Sprint Communications Company L.P. | Usage-based content filtering for bandwidth optimization |
US8196035B2 (en) * | 2008-09-18 | 2012-06-05 | Itai Sadan | Adaptation of a website to mobile web browser |
US8719001B1 (en) * | 2008-11-25 | 2014-05-06 | Sprint Communications Company L.P. | Remote configuration of widgets |
US8204734B2 (en) * | 2008-12-29 | 2012-06-19 | Verizon Patent And Licensing Inc. | Multi-platform software application simulation systems and methods |
US20110209046A1 (en) * | 2010-02-11 | 2011-08-25 | Zheng Huang | Optimizing web content display on an electronic mobile reader |
US20120060087A1 (en) * | 2010-09-02 | 2012-03-08 | Mohamad Jame | System and method for converting an existing website into a mobile compatible website |
US20120102087A1 (en) * | 2010-10-20 | 2012-04-26 | Mskynet, Inc. | Link status system and method |
US20120155292A1 (en) * | 2010-12-15 | 2012-06-21 | Apple Inc. | Mobile hardware and network environment simulation |
US20120240063A1 (en) * | 2011-03-18 | 2012-09-20 | International Business Machines Corporation | Web site sectioning for mobile web browser usability |
US8806646B1 (en) * | 2011-04-27 | 2014-08-12 | Twitter, Inc. | Detecting malware in mobile sites |
US20130080887A1 (en) * | 2011-09-26 | 2013-03-28 | Zhaorong Hou | Simulation of web applications and secondary devices in a web browser, web application development tools, and methods using the same |
US20130273853A1 (en) * | 2012-04-16 | 2013-10-17 | Mobile Experience Solutions, Inc. | Mobile device monitoring and testing |
US20130282892A1 (en) * | 2012-04-23 | 2013-10-24 | Ithai Levi | Event extractor |
US20140173454A1 (en) * | 2012-12-18 | 2014-06-19 | Logic Studio, S.A. | Method and system for designing, deploying and executing transactional multi-platform mobile applications |
US20150120572A1 (en) * | 2013-10-25 | 2015-04-30 | Nitro Mobile Solutions, LLC | Location based mobile deposit security feature |
Non-Patent Citations (6)
Title |
---|
Boloni et al., YAES - A Modular Simulator for Mobile Networks, ACM 2005, pages 169-173. * |
Book et al., Cost and Response Time Simulation for Web-based Applications on Mobile Channels, IEEE 2005, pages 1-8. * |
Chen et al., Adapting Web Pages for Small-Screen Devices, IEEE 2005, pages 50-56. * |
Chen et al., Function-Based Object Model towards Website Adaptation, ACM 2001, pages 587-596. * |
Hattori et al., Robust Web Page Segmentation for Mobile Terminal using Content-Distances and Page Layout Information, ACM 2007, pages 361-370. * |
Mallapur et al., Survey on Simulation Tools for Mobile Ad-Hoc Networks, Google 2012, pages 241-248. * |
Cited By (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11720739B2 (en) * | 2012-02-20 | 2023-08-08 | Wix.Com Ltd. | System and method for extended dynamic layout |
US11449661B2 (en) * | 2012-02-20 | 2022-09-20 | Wix.Com Ltd. | System and method for extended dynamic layout |
US12112120B2 (en) * | 2012-02-20 | 2024-10-08 | Wix.Com Ltd. | System and method for extended dynamic layout |
US20230334222A1 (en) * | 2012-02-20 | 2023-10-19 | Wix.Com Ltd. | System and method for extended dynamic layout |
US20140055495A1 (en) * | 2012-08-22 | 2014-02-27 | Lg Cns Co., Ltd. | Responsive user interface engine for display devices |
US20140207818A1 (en) * | 2013-01-22 | 2014-07-24 | Go Daddy Operating Company, LLC | Configuring an origin server content delivery using a pulled data list |
US9141669B2 (en) * | 2013-01-22 | 2015-09-22 | Go Daddy Operating Company, LLC | Configuring an origin server content delivery using a pulled data list |
US20140214693A1 (en) * | 2013-01-30 | 2014-07-31 | International Business Machines Corporation | System advisor for requirements gathering and analysis in web... |
US8935652B2 (en) * | 2013-01-30 | 2015-01-13 | International Business Machines Corporation | System advisor for requirements gathering and analysis in web solutions |
US8935653B2 (en) * | 2013-01-30 | 2015-01-13 | International Business Machines Corporation | System advisor for requirements gathering and analysis in web solutions |
US20140214692A1 (en) * | 2013-01-30 | 2014-07-31 | International Business Machines Corporation | System Advisor for Requirements Gathering and Analysis in Web Solutions |
US10296562B2 (en) * | 2013-02-12 | 2019-05-21 | Oath Inc. | Dynamic generation of mobile web experience |
US20140229818A1 (en) * | 2013-02-12 | 2014-08-14 | Yahoo! Inc. | Dynamic generation of mobile web experience |
US10956531B2 (en) | 2013-02-12 | 2021-03-23 | Verizon Media Inc. | Dynamic generation of mobile web experience |
US10831858B2 (en) | 2013-03-13 | 2020-11-10 | International Business Machines Corporation | Mobile enablement of existing web sites |
US10346501B2 (en) | 2013-03-13 | 2019-07-09 | International Business Machines Corporation | Mobile enablement of existing web sites |
US9426202B2 (en) | 2013-03-13 | 2016-08-23 | International Business Machines Corporation | Transforming application cached template using personalized content |
US9426201B2 (en) | 2013-03-13 | 2016-08-23 | International Business Machines Corporation | Transforming application cached template using personalized content |
US9563448B2 (en) * | 2013-03-13 | 2017-02-07 | International Business Machines Corporation | Mobilizing a web application to take advantage of a native device capability |
US9563449B2 (en) * | 2013-03-13 | 2017-02-07 | International Business Machines Corporation | Mobilizing a web application to take advantage of a native device capability |
US10089283B2 (en) | 2013-03-13 | 2018-10-02 | International Business Machines Corporation | Mobile enablement of webpages |
US10083156B2 (en) | 2013-03-13 | 2018-09-25 | International Business Machines Corporation | Mobile enablement of webpages |
US20140281884A1 (en) * | 2013-03-13 | 2014-09-18 | International Business Machines Corporation | Mobilizing a web application to take advantage of a native device capability |
US10346502B2 (en) | 2013-03-13 | 2019-07-09 | International Business Machines Corporation | Mobile enablement of existing web sites |
US20140281905A1 (en) * | 2013-03-13 | 2014-09-18 | International Business Machines Corporation | Mobilizing a web application to take advantage of a native device capability |
US20140359000A1 (en) * | 2013-06-04 | 2014-12-04 | Dynalab (Singapore) Ltd. | Method for remotely assisting user in setting utility program |
US9898255B2 (en) * | 2013-11-13 | 2018-02-20 | Sap Se | Grid designer for multiple contexts |
US20150135104A1 (en) * | 2013-11-13 | 2015-05-14 | Johannes Osterhoff | Grid designer for multiple contexts |
US9830626B1 (en) * | 2014-02-28 | 2017-11-28 | EMC IP Holding Company LLC | Pre-calculated performance simulation |
US10073604B2 (en) * | 2014-05-15 | 2018-09-11 | Oracle International Corporation | UI-driven model extensibility in multi-tier applications |
US20150331596A1 (en) * | 2014-05-15 | 2015-11-19 | Oracle International Corporation | Ui-driven model extensibility in multi-tier applications |
US12067537B2 (en) | 2014-05-21 | 2024-08-20 | Plaid Inc. | System and method for facilitating programmatic verification of transactions |
US11798072B1 (en) | 2014-05-21 | 2023-10-24 | Plaid Inc. | System and method for programmatically accessing data |
US11030682B1 (en) | 2014-05-21 | 2021-06-08 | Plaid Inc. | System and method for programmatically accessing financial data |
US12056702B1 (en) | 2014-05-21 | 2024-08-06 | Plaid Inc. | System and method for facilitating programmatic verification of transactions |
US11216814B1 (en) | 2014-05-21 | 2022-01-04 | Plaid Inc. | System and method for facilitating programmatic verification of transactions |
US11922492B2 (en) | 2014-05-21 | 2024-03-05 | Plaid Inc. | System and method for programmatically accessing financial data |
US9881332B2 (en) | 2014-05-22 | 2018-01-30 | LogoMix, Inc. | Systems and methods for customizing search results and recommendations |
US20150339276A1 (en) * | 2014-05-22 | 2015-11-26 | Craig J. Bloem | Systems and methods for producing custom designs using vector-based images |
US11157830B2 (en) * | 2014-08-20 | 2021-10-26 | Vertafore, Inc. | Automated customized web portal template generation systems and methods |
US9747556B2 (en) * | 2014-08-20 | 2017-08-29 | Vertafore, Inc. | Automated customized web portal template generation systems and methods |
US20160055132A1 (en) * | 2014-08-20 | 2016-02-25 | Vertafore, Inc. | Automated customized web portal template generation systems and methods |
US20230021745A1 (en) * | 2014-10-15 | 2023-01-26 | Liveperson, Inc. | System and method for interactive application preview |
US11397505B2 (en) * | 2014-10-15 | 2022-07-26 | Liveperson, Inc. | System and method for interactive application preview |
US11907493B2 (en) * | 2014-10-15 | 2024-02-20 | Liveperson, Inc. | System and method for interactive application preview |
US10789320B2 (en) | 2014-12-05 | 2020-09-29 | Walmart Apollo, Llc | System and method for generating globally-unique identifiers |
US20160234267A1 (en) * | 2015-02-06 | 2016-08-11 | Adobe Systems Incorporated | Sharing digital content using an interactive send service system |
US11853728B2 (en) * | 2015-07-30 | 2023-12-26 | Wix.Com Ltd. | System integrating a mobile device application creation, editing and distribution system with a website design system |
US20200401648A1 (en) * | 2015-07-30 | 2020-12-24 | Wix.Com Ltd. | System integrating a mobile device application creation, editing and distribution system with a website design system |
US11595374B2 (en) | 2015-09-08 | 2023-02-28 | Plaid Inc. | Secure permissioning of access to user accounts, including secure deauthorization of access to user accounts |
US10904239B2 (en) | 2015-09-08 | 2021-01-26 | Plaid Inc. | Secure permissioning of access to user accounts, including secure deauthorization of access to user accounts |
US12021854B2 (en) | 2015-09-08 | 2024-06-25 | Plaid Inc. | Secure permissioning of access to user accounts, including secure deauthorization of access to user accounts |
US11050729B2 (en) | 2015-09-08 | 2021-06-29 | Plaid Inc. | Secure permissioning of access to user accounts, including secure deauthorization of access to user accounts |
US11503010B2 (en) | 2015-09-08 | 2022-11-15 | Plaid Inc. | Secure permissioning of access to user accounts, including secure deauthorization of access to user accounts |
US10498853B2 (en) | 2015-09-28 | 2019-12-03 | Walmart Apollo, Llc | Cloud-based data session provisioning, data storage, and data retrieval system and method |
US20170171322A1 (en) * | 2015-12-09 | 2017-06-15 | Art.Com, Inc. | Session hand-off for mobile applications |
US10404778B2 (en) * | 2015-12-09 | 2019-09-03 | Walmart Apollo, Llc | Session hand-off for mobile applications |
US20190387047A1 (en) * | 2015-12-09 | 2019-12-19 | Walmart Apollo, Llc | Session hand-off for mobile applications |
US11430057B1 (en) | 2015-12-28 | 2022-08-30 | Plaid Inc. | Parameter-based computer evaluation of user accounts based on user account data stored in one or more databases |
US10726491B1 (en) * | 2015-12-28 | 2020-07-28 | Plaid Inc. | Parameter-based computer evaluation of user accounts based on user account data stored in one or more databases |
US10984468B1 (en) | 2016-01-06 | 2021-04-20 | Plaid Inc. | Systems and methods for estimating past and prospective attribute values associated with a user account |
US11682070B2 (en) | 2016-01-06 | 2023-06-20 | Plaid Inc. | Systems and methods for estimating past and prospective attribute values associated with a user account |
US12067615B2 (en) | 2016-01-06 | 2024-08-20 | Plaid Inc. | Systems and methods for estimating past and prospective attribute values associated with a user account |
US9959257B2 (en) * | 2016-01-08 | 2018-05-01 | Adobe Systems Incorporated | Populating visual designs with web content |
US10691875B2 (en) | 2016-01-08 | 2020-06-23 | Adobe Inc. | Populating visual designs with web content |
US9934208B2 (en) * | 2016-01-08 | 2018-04-03 | Adobe Systems Incorporated | Populating visual designs with web content |
US10878421B2 (en) | 2017-07-22 | 2020-12-29 | Plaid Inc. | Data verified deposits |
US11468085B2 (en) | 2017-07-22 | 2022-10-11 | Plaid Inc. | Browser-based aggregation |
US11580544B2 (en) | 2017-07-22 | 2023-02-14 | Plaid Inc. | Data verified deposits |
US11216527B2 (en) * | 2018-08-22 | 2022-01-04 | Citrix Systems, Inc. | Color scheme generator for web applications |
US11487842B2 (en) | 2018-08-22 | 2022-11-01 | Citrix Systems, Inc. | Color scheme generator for web applications |
US11316862B1 (en) | 2018-09-14 | 2022-04-26 | Plaid Inc. | Secure authorization of access to user accounts by one or more authorization mechanisms |
US12074880B2 (en) | 2018-09-14 | 2024-08-27 | Plaid Inc. | Secure authorization of access to user accounts by one or more authorization mechanisms |
US11887069B2 (en) | 2020-05-05 | 2024-01-30 | Plaid Inc. | Secure updating of allocations to user accounts |
US11327960B1 (en) | 2020-10-16 | 2022-05-10 | Plaid Inc. | Systems and methods for data parsing |
US20230037009A1 (en) * | 2021-07-30 | 2023-02-02 | L&A Video Consulting GmbH | Media platform and method for providing structured access to media content |
US11829574B2 (en) * | 2021-07-30 | 2023-11-28 | L&A Video Consulting GmbH | Media platform and method for providing structured access to media content |
Also Published As
Publication number | Publication date |
---|---|
US9311427B2 (en) | 2016-04-12 |
US20160217106A1 (en) | 2016-07-28 |
US20130174014A1 (en) | 2013-07-04 |
US9645977B2 (en) | 2017-05-09 |
US20130174012A1 (en) | 2013-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9645977B2 (en) | Systems and methods for configuring a header and layout of a mobile version of a conventional website | |
US10936179B2 (en) | Methods and systems for web content generation | |
US9147004B2 (en) | Website builder systems and methods with device detection to adapt rendering behavior based on device type | |
US9369545B2 (en) | Accessing and displaying network content | |
US10909304B2 (en) | Methods and systems for WYSIWYG web content generation | |
JP6051337B2 (en) | Client-side page processing | |
US20120297324A1 (en) | Navigation Control Availability | |
US20140380229A1 (en) | System, method and user interface for designing customizable products from a mobile device | |
US20100251143A1 (en) | Method, system and computer program for creating and editing a website | |
US20150074561A1 (en) | Customizable themes for browsers and web content | |
US20170031877A1 (en) | Web Page Design System | |
US10282172B2 (en) | Authoring and deploying television apps and pages in a content management system | |
Rahmel | Advanced joomla! | |
KR101372580B1 (en) | Method, terminal, server and computer-readable recording media for providing browser ui | |
Rahmel et al. | Using JavaScript and Ajax to Dynamically Load Page Elements | |
Rahmel et al. | Constructing a Dynamic Template | |
Udell | iGoogle | |
Edgar | Speed Metrics Guide |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: VISTAPRINT TECHNOLOGIES LIMITED, BERMUDA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KWAN, JEFF L.;REEL/FRAME:029233/0095 Effective date: 20120402 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT Free format text: SECURITY AGREEMENT;ASSIGNOR:VISTAPRINT SCHWEIZ GMBH;REEL/FRAME:031371/0384 Effective date: 20130930 |
|
AS | Assignment |
Owner name: VISTAPRINT LIMITED, BERMUDA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VISTAPRINT TECHNOLOGIES LIMITED;REEL/FRAME:031394/0311 Effective date: 20131008 |
|
AS | Assignment |
Owner name: VISTAPRINT SCHWEIZ GMBH, SWITZERLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VISTAPRINT LIMITED;REEL/FRAME:031394/0742 Effective date: 20131008 |
|
AS | Assignment |
Owner name: CIMPRESS SCHWEIZ GMBH, SWITZERLAND Free format text: CHANGE OF NAME;ASSIGNOR:VISTAPRINT SCHWEIZ GMBH;REEL/FRAME:036277/0592 Effective date: 20150619 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONMENT FOR FAILURE TO CORRECT DRAWINGS/OATH/NONPUB REQUEST |