SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
Wh ite Pape r




         Using PHP Site
Assistant to create sites
     for mobile devices



        Using PHP Site Assistant to create sites for mobile devices
Overview                                                                                    application for a desktop computer, developers can present screens with a standard
In the last few years, a major shift has occurred in the number and capabilities of         resolution, minimally 800x600 pixels. Unfortunately, there are no standards when
mobile devices. Improvements in processor speed, display quality and wireless               designing a display for mobile devices. The screens on modern mobile devices range
networking make these devices useful for a wider range of tasks than ever before.           from 240x240 to 320x480. They may have objects like onscreen keyboards or button
Armed with new tools and technologies, developers are creating web-based                    bars taking up room as well. It’s important to design an interface that wraps well
applications for these new devices that blur the lines between desktops and                 and displays legibly on a range of screen sizes, as described in “Modifying the Site
handhelds.                                                                                  Assistant’s output to target mobile devices.”

For example, FileMaker Server 9 and FileMaker Server 9 Advanced provide the                 Popular mobile devices
ability to interact with FileMaker files over the web via the new FileMaker API for         The scope of this section is limited to the following mobile device families:
PHP. FileMaker now provides a new application, PHP Site Assistant, to quickly create           •	 Apple	iPhone
FileMaker-driven websites. The PHP Site Assistant presents a series of questions about         •	 Windows	Mobile	devices
how users will interact with the database over the web, and then builds a site that            •	 Palm	OS	devices
can be used as-is or customized. This paper addresses the modification of the pages
generated by PHP Site Assistant to provide the best experience on mobile devices            Apple iPhone
like Smartphones.                                                                           The iPhone is an Internet-enabled quad-band GSM EDGE-supported mobile phone
                                                                                            with 802.11g wireless networking. User input comes through a multi-touch screen
Important: This document is not intended to replace the product documentation. See          with a virtual keyboard and buttons. The iPhone’s display dimensions are 320x480
the FileMaker Server documentation for complete instructions.                               and while web browsing, the display can be rotated 90 degrees to allow pages to be
                                                                                            viewed in widescreen mode. A zoom in/out feature also allows the user to see more
Differences between mobile and desktop devices                                              data on the screen at once. The iPhone uses Safari as its web browser.
Each year the gap between desktop and mobile devices continues to narrow.
Mobile processor speed and network connectivity continue to improve, making web             Windows Mobile
browsing on these devices a viable alternative to laptops. Previously, mobile web           Windows Mobile is a handheld operating system that runs on a wide variety of
browsers required a special markup language, which added significant development            mobile devices. Wireless networking, user input and screen resolution will vary by
time and effort to deploying web applications for mobile devices. Fortunately, mobile       device so consult the manufacturer’s documentation for specific information. The
web browsers now use standard HTML. Given all the advancements, the biggest                 current version of the OS is Windows Mobile 6, which comes with a version of Internet
limitation is the form factor itself—the size of the screen and input mechanism for data.   Explorer designed specifically for Windows Mobile. Other browsers can also be
                                                                                            loaded.
Although most mobile devices use a keyboard to enter information, the size reduces
the usability and efficiency for entering large amounts of data. One of the ways            Palm OS
developers can help their end users work more efficiently and accurately is by              Palm is both a hardware and software provider and markets handheld devices that
providing pop-up menus and radio buttons to reduce the amount of typing. You’ll             run Palm OS and Smartphones that run either Palm OS or Windows Mobile. As with
find more FileMaker design tips in the section “Preparing a database for mobile web         the Windows Mobile devices screen resolution, networking and user input options
access” below.                                                                              vary from device to device, but specific device information can be found at the Palm
                                                                                            website. Palm OS comes pre-loaded with its own web browser named Blazer, but
Another limitation inherent in mobile devices is the small screen size. This must           other browsers can be installed.
be taken into consideration during database and site design. When designing an




                   Using PHP Site Assistant to create sites for mobile devices     page 1                      Using PHP Site Assistant to create sites for mobile devices   page 2
Preparing a database for mobile web access                                                    Getting started with PHP Site Assistant
Before using PHP Site Assistant, there are some things that should be done within the         The PHP Site Assistant is included in FileMaker Server 9 and FileMaker Server 9
database. Taking these steps now saves time and improves site performance.                    Advanced. It uses a wizard-like interface that presents a series of questions about
                                                                                              the type of site to create, the layouts to base the site on, and the way the site should
   •	 Designate	layouts	that	will	only	be	accessed	by	web-based	users,	and	not	               look. It then generates a series of PHP pages that will perform the requested actions.
      FileMaker Pro users. When FileMaker data is requested from a web browser,               The resulting pages can be customized with a web page editor or even a simple text
      the layout must also be included in the request. FileMaker sends data from              editor like Notepad. Do not use a word processor, however, as it will not save the file
      every field on that specified layout to the web publishing engine, then on to           back	correctly.	Customizing	the	PHP	pages	to	improve	the	user	experience	on	mobile	
      the PHP application on the web server. It is important that the layout web users        devices is critical.
      are interacting with only contains fields that are critical to the mobile users. This
      eliminates unnecessary overhead on the web server.                                      Before opening PHP Site Assistant, ensure the following:
                                                                                                 1. The database must be hosted on FileMaker Server 9 or FileMaker Server 9
   •	 Before	running	PHP	Site	Assistant,	format	the	fields	on	your	designated	web	                   Advanced.
      layouts to display the same way they will on a web page. For example, first                2.	 Custom	Web	Publishing	with	PHP	must	be	enabled.	
      format a Gender field to display radio buttons with the “Male” and “Female”                3. The database must contain at least one account belonging to a privilege set
      choices on the FileMaker layout. When PHP Site Assistant generates the site, it                that has the fmphp extended privilege enabled.
      automatically creates the appropriate HTML to display the field the same way.
      Use pop-up menus and radio buttons wherever appropriate to make data entry              Once the server and database are properly configured, PHP Site Assistant can be
      easier for users.                                                                       opened in two different ways:
                                                                                                 •	 In	a	web	browser,	access	the	Web	Publishing	Tools	start	page:
   •	 Because	the	FileMaker	API	for	PHP	also	targets	a	specific	FileMaker	layout	when	              http://<server host name or IP address>:16000/tools
      searching a database, it is important to restrict the number of users who can                 Once the next page loads click the Start PHP Site Assistant button.
      modify these layouts. If a field is unknowingly removed from a layout, the web-
      based search could produce unexpected results.                                             •	 Use	FileMaker	Pro	9	Advanced	to	open	a	file	from	the	FileMaker	9	Server	
                                                                                                    then go to the Tools menu > Launch PHP Site Assistant. This will open a web
   •	 Create	separate	accounts	and	privilege	sets	for	web-based	access.	This	                       browser	to	the	PHP	and	XSLT	Site	Assistant	Tools	page.	Click	the	Start	PHP Site
      privilege set should only provide access to those layouts designated for web-                 Assistant button. If the button is not enabled, make sure you have the fmphp
      based users. Similarly, the Extended Privileges should only allow access via                  Extended Privilege enabled on a user account.
      PHP web publishing. Restricting ways that web-based users can access your
      databases reduces your security risks.                                                  Both approaches will download PHP Site Assistant to the local machine.
                                                                                              Subsequently, PHP Site Assistant can be opened directly from the local file.
   •	 Whether	users	are	accessing	data	using	FileMaker	Pro	or	a	web	browser,	
      performance will always be better if the fields you’re working with are indexed.        Creating a site for mobile devices
      Wherever possible make sure that sorts and finds are not being performed                After launching PHP Site Assistant, users create a new site and provide information
      on fields where indexing is turned off or that use or reference unstored                about the capabilities their site will have, for example whether a site will be searched.
      calculations.                                                                           The different screens in PHP Site Assistant are listed below along with important
                                                                                              considerations when designing a site for use on mobile devices.




                    Using PHP Site Assistant to create sites for mobile devices      page 3                      Using PHP Site Assistant to create sites for mobile devices

                                                                                                                                                                                 page 4
•	 Database	Settings:	The	web	server	address,	log	in	information,	database	and	           Modifying the output of the Site Assistant to target mobile devices
      security.                                                                              Sites created by PHP Site Assistant are designed for desktop browsers, but with
   •	 Layout	Group:	A	set	of	layouts	that	all	use	the	same	table	occurrence.	                a few simple changes, the same site can serve a dual purpose, supporting both
   •	 Site	Profile:	Specifies	the	functions	people	need	to	perform.	After	selecting	a	       desktop and mobile browsers. This is accomplished by creating alternate style sheets
      Site Profile, the pages that make up that particular profile are displayed, along      designed specifically for mobile devices and by making minor changes to the .php
      with options for setting the layout, fields and associated options for each page.      pages.
      Some best practices:
      -   Limit the number of records being returned on the Record List page.                Creating an alternate style sheet
          Setting a low number of rows to display per page minimizes scrolling and           The easiest way to create a style sheet specifically for mobile devices is to modify an
          improves load time.                                                                existing style sheet already created by PHP Site Assistant. While any of the themes
      -   Keep page titles as short as possible. The title of each page appears in the       offered by PHP Site Assistant can be modified for this use, the Plain - White theme is
          navigation bar at the top of the screen. Short titles reduce the chances the       recommended because it creates a site with a very basic design.
          navigation bar will wrap onto multiple lines.
                                                                                             After PHP Site Assistant generates the pages in the site, open the site folder.
   •	 Theme:	Determines	the	look	of	the	site.	Choose	Plain	–	White	for	the	best	             Duplicate the plain_white.css file and rename the duplicate mobile.css. Once the
      experience on handheld computers.                                                      general changes have been made to the mobile.css style sheet, you can duplicate it
   •	 Output	Settings:	Allows	you	to	preview	the	site	and	select	where	to	save	the	          and use it as a staring point for the iPhone style sheet.
      files.
                                                                                             Choosing	a	theme	in	PHP	Site	Assistant	does	not	change	the	functionality	of	the	PHP	
After PHP Site Assistant generates the site, the files are saved in the location specified   code that is generated. The only exception is a single line that each .php file contains
on the Output Settings screen.                                                               in	its	<head>	section	showing	the	style	sheet	it	references.	If	the	Plain	–	White	theme	
                                                                                             was chosen, each of the .php files would contain this line:
A look at the files PHP Site Assistant creates
When PHP Site Assistant generates the site, it creates several .php files and one .css       <link rel=”stylesheet” type=”text/css” media=”screen” href=”plain_white.css”>
file that reflects the theme that was specified. For example if the Plain - White theme
was chosen a file named “plain_white.css” is generated.                                      Setting mobile devices to use the correct style sheet
                                                                                             The media =”screen” portion of the line above tells the browser to use the plain_
If a theme with a background image was chosen, you’ll also see an “Images” directory         white.css style sheet to display this page if it is being viewed on a desktop computer.
that contains the background images.                                                         Adding a second line containing media=”handheld” tells the browser to use a
                                                                                             different style sheet if the page is being viewed on a device that identifies itself as a
Each .php file contains a line in the header referencing the name of the .css file.          handheld device. Assuming that a style sheet named “mobile.css” has already been
For	example,	with	the	Plain	–	White	theme,	you’ll	see	the	following	in	the	.php	file:        created, adding this line to the header will direct handheld browsers to use the
                                                                                             “mobile.css” style sheet:
<link rel=”stylesheet” type=”text/css” media=”screen” href=”plain_white.css”>
                                                                                             <link rel=”stylesheet” type=”text/css” media=”handheld” href=”mobile.css”>
Changing	the	theme	in	Site	Assistant	to	Circles	–	Green	and	generating	the	site	again	
changes the line in each .php file to:                                                       Targeting the iPhone with a specific style sheet
                                                                                             This method is sufficient for most phones and PDAs, including Windows Mobile and
<link rel=”stylesheet” type=”text/css” media=”screen” href=”circles_green.css”>




                   Using PHP Site Assistant to create sites for mobile devices      page 5                      Using PHP Site Assistant to create sites for mobile devices      page 6
Palm devices, but not the iPhone. On the iPhone, the Safari web browser identifies         Padding
itself as a desktop browser so it uses the style sheet specified for the “screen” media    The Padding attribute determines the amount of space on each side of an element
type.                                                                                      within that element’s borders. Because mobile devices have much smaller screens
                                                                                           than desktop devices, the padding should be set to the minimum value that ensures
In the iPhone developer documentation, Apple provides a technique for making               legibility.
the iPhone use a different style sheet by evaluating the maximum screen size of the
device. Adding the following third line to each .php file causes the iPhone to use the     Padding around many elements such as the header, the page navigation buttons, and
mobile.css style sheet.                                                                    the field data should be reduced to save screen space. In general, the padding on the
                                                                                           top and bottom can safely be set to 0, but 1 or two pixels on the left and right may be
<link media=”only screen and (max-device-width: 480px)” href=”mobile.css”                  necessary to avoid running the text together.
type=”text/css” rel=”stylesheet”>
                                                                                           Margins
iPhone viewport                                                                            The Margin attribute is very similar to the Padding attribute except that the margin
In addition to adding the above line, one more option must be set to ensure that the       defines the white space around an element’s border, while padding refers to the
page displays at the correct scale. On the iPhone, the viewport determines the size        white space within the border.
at which a web page should be displayed. By default, the iPhone assumes that web
pages are designed for a desktop browser and sets the viewport to 980 pixels wide.         The margin attributes in the style sheets modified for mobile devices can generally be
                                                                                           set 0, and any white space needed can be provided using the padding attribute.
Add the following line to the <head> section of each .php page to set teh viewport to
be 320 pixels wide:                                                                        Hiding sections of the page
                                                                                           While some parts of the page should be modified to fit on the screen, others should
<meta name = “viewport” content = “width = 320”>                                           be excluded on mobile devices. This can be accomplished by setting the display
                                                                                           property to none. For example, the code shown below hides #header, which would
For	additional	information	about	setting	viewport	options	see	“Configuring	the	            normally appear above the page navigation buttons.
Viewport” in the Safari web content guide available from the Apple Developer                     #header{
Connection.                                                                                             display: none;
http://developer.apple.com/iphone/devcenter/                                                     }

Changing the mobile.css style sheet                                                        The images below show the difference these changes make. Both images show a list
When making changes to the .css and .php pages, be aware that some mobile                  of five records, but the one on the right is rendered using a style sheet optimized for
browsers	do	not	support	all	features	of	CSS.	Be	sure	to	test	your	pages	on	the	target	     mobile devices
mobile devices.

This section provides general guidelines on changing the style sheet generated by
PHP Site Assistant. It is important that you do independent research to learn more
about working with cascading style sheets.

All examples shown below are taken from code generated by PHP Site Assistant 1.0.




                   Using PHP Site Assistant to create sites for mobile devices    page 7                      Using PHP Site Assistant to create sites for mobile devices    page 8
1. Use a container field to store the images inside the FileMaker database.
                                                                                              Pros
                                                                                              •	 Easy	for	FileMaker	users	to	add	and	remove	images.
                                                                                              •	 FileMaker	and	web	users	will	see	the	images	immediately.
                                                                                              Cons
                                                                                              •	 Web	users	will	be	unable	to	add	or	remove	images.
                                                                                              •	 Database	file	size	will	increase	quickly.

                                                                                              2. Use a container field and store a reference to the image file in FileMaker. The
                                                                                                 images must be stored on your web server.
                                                                                              Pros
                                                                                              •	 FileMaker	users	will	see	the	images	immediately.
                                                                                              •	 Database	file	size	will	not	increase	significantly.

                                                                                              Cons
                                                                                              •	 Web	users	will	be	unable	to	add	and	remove	images.
                                                                                              •	 FileMaker	users	will	need	to	have	access	to	the	web	server	volume
                                                                                              •	 If	the	files	are	moved	or	the	path	to	them	is	changed,	FileMaker	and	web	users	
                                                                                                 will lose access to them.
                                                                                              •	 More	difficult	approach	than	storing	images	in	a	container	field.

                                                                                              3. Use a text field to store a URL to where the image resides.
Changes to the individual .php pages                                                          Pros
findrecords.php                                                                               •	 Database	file	size	will	not	increase	significantly.
If the site profile specified in PHP Site Assistant contains a search page, you can
modify the findrecords.php page to reduce the number of records returned. At                  Cons
the bottom of the findrecords.php is a menu that controls the number of records               •	 FileMaker	users	will	need	a	scripted	process	to	add	and	remove	images.
displayed per page. The smallest value in the menu by default is 10. Because of the           •	 FileMaker	users	must	use	the	Web	Viewer	to	see	the	images.
limited amount of space on mobile device screens it is advisable to add another               •	 If	the	files	are	moved	or	the	path	to	them	is	changed,	FileMaker	and	web	users	
choice to that menu so users can choose to return only 5 records.                                will lose access to them.
                                                                                              •	 The	files	PHP	Site	Assistant	generates	will	need	to	be	modified	in	order	to	
recordlist.php                                                                                   display the image instead of the text of the URL.
Move the “Restore Original Sort Order” link in the recordlist.php file out of the header
and below the table to save space.                                                         No matter how you store the images, you should optimize them for handheld devices.
                                                                                              •	 They	should	be	in	the	GIF	or	JPEG	format
Working with images                                                                           •	 They	should	be	relatively	low	resolution	
There are three ways to serve images to the Web from FileMaker. The pros and cons             •	 The	image	dimensions	should	fit	on	the	screen	without	resizing
of each must be evaluated to determine the best choice for a given application.




                   Using PHP Site Assistant to create sites for mobile devices    page 9                      Using PHP Site Assistant to create sites for mobile devices   page 10
While these conditions do not have to be met in order for the images to be viewed,      Palm OS
adhering to them will improve performance.                                              Palm Inc. offers the Palm Simulator to members of its developer program, which can
                                                                                        be joined at https://pluggedin.palm.com/regac/pluggedin/. Simulators are offered
Refer to these documents for more information on working with images. The               for each of its Smartphone models that run the Palm OS.
documents are included with FileMaker Server or can be downloaded from:
www.filemaker.com/support/product/documentation.html                                    Palm distributes Smartphones that run on either the Palm OS or Microsoft Windows
   •	 FileMaker	Server	9	Custom	Web	Publishing	with	PHP                                 Mobile. Downloads for both platforms are available from the Palm site. If the file has
   •	 FileMaker	API	for	PHP	Tutorial                                                    “Simulator” in the name, it is for a Palm OS device and should contain everything
                                                                                        needed to run it. If the download is referred to as an “Emulator”, it is for a Windows
Testing your site                                                                       Mobile device and only contains a ROM file. To test on the Windows Mobile devices
There is no single program that can be used to ensure that content displays correctly   you will also need the Mobile Device Emulator from Microsoft. See the next section
on all devices, but the manufacturers of each of the devices discussed provide test     for more information.
environments. These programs are free, but may require registration as part of a
developer program in order to download them.                                            Windows Mobile
                                                                                        Microsoft provides an application for testing software developed for Windows
iPhone                                                                                  Mobile called Mobile Device Emulator. It is available in the Windows Mobile area of
Because the iPhone uses the same web browser that runs on OS X, Safari can be           Microsoft’s website. Be sure to get the standalone edition and to download both the
used on a desktop computer for testing. Apple is developing a version of Safari for     efp.msi and the V1Emulator.zip files.
Windows that can be downloaded, as a beta, from the Apple website.
                                                                                        In	addition	to	the	Mobile	Device	Emulator,	Microsoft	Virtual	PC	2007	will	also	need	to	
Although running Safari on the iPhone is very similar to running it on the desktop      be	downloaded	and	installed.	The	Virtual	PC	application	does	not	need	to	be	running	
there are a few differences. Safari on iPhone does not support the following web        in order to run Mobile Device Emulator, but it must be installed in order to allow
technologies:                                                                           Mobile Device Emulator to use your machine’s network connection.
   •	   Modal	dialogs                                                                   As of this writing all of the device images that come with Mobile Device Emulator are
   •	   Mouse-over	events	                                                              for Windows Mobile 5. The current version of Windows Mobile is version 6. Therefore
   •	   Hover	styles	                                                                   it is recommended that you also search for and download the Windows Mobile 6
   •	   Tooltips	                                                                       localized emulator images from Microsoft’s site.
   •	   Java	applets	
   •	   Flash	
   •	   SVG
   •	   XSLT                                                                            About the author
   •	   Plug-in	installation                                                            Alan Kirtlink is an information analyst with Skeleton Key, a FileMaker Business
   •	   Custom	x.509	certificates                                                       Alliance member based in St. Louis, Missouri (http://www.skeletonkey.com). He has
   •	   WML                                                                             been developing in FileMaker and showing others how to do it since 1994. Alan is a
   •	   File	uploads	and	downloads                                                      FileMaker certified developer and trainer as well as a contributor to FileMaker Advisor
                                                                                        magazine.




                  Using PHP Site Assistant to create sites for mobile devices                              Using PHP Site Assistant to create sites for mobile devices
Additional resources

  •	 FileMaker	–	PHP	Overview
     http://www.filemaker.com/support/technologies/php.html

  •	 FileMaker	-	Documentation
     http://www.filemaker.com/support/product/documentation.html

  •	 Apple	Developer	Connection	–	Development	for	iPhone
     http://developer.apple.com/iphone/devcenter/

  •	 Microsoft	Windows	Mobile
     http://www.microsoft.com/windowsmobile/developers/

  •	 Palm	Developer	Network
     https://pdn.palm.com/regac/pdn/

  •	 W3C	Mobile	Best	Practices
     http://www.w3.org/TR/mobile-bp/




                Using PHP Site Assistant to create sites for mobile devices

Contenu connexe

Tendances

IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino DevelopersIBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino DevelopersMat Newman
 
Installing the oracle bi mobile app designer
Installing the oracle bi mobile app designerInstalling the oracle bi mobile app designer
Installing the oracle bi mobile app designerRavi Kumar Lanke
 
Microsoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not WarMicrosoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not WarDave Bost
 
Fotf 5.0 Concepts
Fotf 5.0 ConceptsFotf 5.0 Concepts
Fotf 5.0 Conceptskendradoss
 
Case study infisherman
Case study infishermanCase study infisherman
Case study infishermanmrquy
 
Firefox on Win8 - Q3 Update
Firefox on Win8 - Q3 UpdateFirefox on Win8 - Q3 Update
Firefox on Win8 - Q3 UpdateYuan Wang
 
Customize it! Make IBM Connections look your way
Customize it! Make IBM Connections look your way Customize it! Make IBM Connections look your way
Customize it! Make IBM Connections look your way Klaus Bild
 
Introduction to website design
Introduction to website designIntroduction to website design
Introduction to website designAnas Khaitou
 
Website analysis UEFA
Website analysis UEFAWebsite analysis UEFA
Website analysis UEFAtutorexpert
 

Tendances (11)

Power Point
Power PointPower Point
Power Point
 
Product guide
Product guideProduct guide
Product guide
 
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino DevelopersIBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
 
Installing the oracle bi mobile app designer
Installing the oracle bi mobile app designerInstalling the oracle bi mobile app designer
Installing the oracle bi mobile app designer
 
Microsoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not WarMicrosoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not War
 
Fotf 5.0 Concepts
Fotf 5.0 ConceptsFotf 5.0 Concepts
Fotf 5.0 Concepts
 
Case study infisherman
Case study infishermanCase study infisherman
Case study infisherman
 
Firefox on Win8 - Q3 Update
Firefox on Win8 - Q3 UpdateFirefox on Win8 - Q3 Update
Firefox on Win8 - Q3 Update
 
Customize it! Make IBM Connections look your way
Customize it! Make IBM Connections look your way Customize it! Make IBM Connections look your way
Customize it! Make IBM Connections look your way
 
Introduction to website design
Introduction to website designIntroduction to website design
Introduction to website design
 
Website analysis UEFA
Website analysis UEFAWebsite analysis UEFA
Website analysis UEFA
 

En vedette

0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269tutorialsruby
 
VZAgent_SOAP_Tutorial
VZAgent_SOAP_TutorialVZAgent_SOAP_Tutorial
VZAgent_SOAP_Tutorialtutorialsruby
 
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>tutorialsruby
 

En vedette (6)

LFCF3D_1
LFCF3D_1LFCF3D_1
LFCF3D_1
 
LittleBookOfRuby
LittleBookOfRubyLittleBookOfRuby
LittleBookOfRuby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
 
rails_tutorial
rails_tutorialrails_tutorial
rails_tutorial
 
VZAgent_SOAP_Tutorial
VZAgent_SOAP_TutorialVZAgent_SOAP_Tutorial
VZAgent_SOAP_Tutorial
 
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
 

Similaire à Using PHP Site Assistant to optimize sites for mobile

Seminar Presentation for FrontPage
Seminar Presentation for FrontPageSeminar Presentation for FrontPage
Seminar Presentation for FrontPagewebhostingguy
 
E commerce p1 edit
E commerce p1 editE commerce p1 edit
E commerce p1 editmmm2k
 
presentation-131127230708-phpapp01.pdf
presentation-131127230708-phpapp01.pdfpresentation-131127230708-phpapp01.pdf
presentation-131127230708-phpapp01.pdfkomailhaider7
 
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
 How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi... How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...Aimore Technologies
 
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING PamRobert
 
Std 12 Computer Chapter 3 Designing Simple Website using KompoZer
Std 12 Computer Chapter 3  Designing Simple Website using KompoZerStd 12 Computer Chapter 3  Designing Simple Website using KompoZer
Std 12 Computer Chapter 3 Designing Simple Website using KompoZerNuzhat Memon
 
Web Development SEO Expate BD LTD 1 01.02.2023 .pdf
Web Development SEO Expate BD LTD 1 01.02.2023 .pdfWeb Development SEO Expate BD LTD 1 01.02.2023 .pdf
Web Development SEO Expate BD LTD 1 01.02.2023 .pdfSeo Expate BD LTD
 
A Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docxA Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docxgoodcoders
 
A Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docxA Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docxgoodcoders
 
Web Issues
Web IssuesWeb Issues
Web Issuestterrill
 
PWA basics for developers
PWA basics for developersPWA basics for developers
PWA basics for developersFilip Rakowski
 
Web designing and publishing computer studies theory lesson
Web designing and publishing computer studies theory lessonWeb designing and publishing computer studies theory lesson
Web designing and publishing computer studies theory lessonMukalele Rogers
 
Web application development full &amp; detailed guide for 2022
Web application development  full &amp; detailed guide for 2022Web application development  full &amp; detailed guide for 2022
Web application development full &amp; detailed guide for 2022Metricoid Technology
 

Similaire à Using PHP Site Assistant to optimize sites for mobile (20)

Web engineering lecture 4
Web engineering lecture 4Web engineering lecture 4
Web engineering lecture 4
 
Food borne human diseases
Food borne human diseasesFood borne human diseases
Food borne human diseases
 
Seminar Presentation for FrontPage
Seminar Presentation for FrontPageSeminar Presentation for FrontPage
Seminar Presentation for FrontPage
 
E commerce p1 edit
E commerce p1 editE commerce p1 edit
E commerce p1 edit
 
Web Application
Web ApplicationWeb Application
Web Application
 
presentation-131127230708-phpapp01.pdf
presentation-131127230708-phpapp01.pdfpresentation-131127230708-phpapp01.pdf
presentation-131127230708-phpapp01.pdf
 
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
 How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi... How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
 
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING
TECHNOLOGY FOR BACK-END WEB DEVELOPMENT: SERVER-SIDE SCRIPTING
 
Std 12 Computer Chapter 3 Designing Simple Website using KompoZer
Std 12 Computer Chapter 3  Designing Simple Website using KompoZerStd 12 Computer Chapter 3  Designing Simple Website using KompoZer
Std 12 Computer Chapter 3 Designing Simple Website using KompoZer
 
Flex3
Flex3Flex3
Flex3
 
Php On Windows
Php On WindowsPhp On Windows
Php On Windows
 
Web Development SEO Expate BD LTD 1 01.02.2023 .pdf
Web Development SEO Expate BD LTD 1 01.02.2023 .pdfWeb Development SEO Expate BD LTD 1 01.02.2023 .pdf
Web Development SEO Expate BD LTD 1 01.02.2023 .pdf
 
A Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docxA Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docx
 
A Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docxA Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docx
 
Web Issues
Web IssuesWeb Issues
Web Issues
 
Os in-a-browser
Os in-a-browserOs in-a-browser
Os in-a-browser
 
PWA basics for developers
PWA basics for developersPWA basics for developers
PWA basics for developers
 
Web designing and publishing computer studies theory lesson
Web designing and publishing computer studies theory lessonWeb designing and publishing computer studies theory lesson
Web designing and publishing computer studies theory lesson
 
Phone Gap
Phone GapPhone Gap
Phone Gap
 
Web application development full &amp; detailed guide for 2022
Web application development  full &amp; detailed guide for 2022Web application development  full &amp; detailed guide for 2022
Web application development full &amp; detailed guide for 2022
 

Plus de tutorialsruby

&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />tutorialsruby
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />tutorialsruby
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheetstutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheetstutorialsruby
 
Winter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20JavascriptWinter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20Javascripttutorialsruby
 
Winter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20JavascriptWinter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20Javascripttutorialsruby
 

Plus de tutorialsruby (20)

&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
 
CSS
CSSCSS
CSS
 
CSS
CSSCSS
CSS
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
 
Winter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20JavascriptWinter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20Javascript
 
Winter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20JavascriptWinter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20Javascript
 

Dernier

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Dernier (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Using PHP Site Assistant to optimize sites for mobile

  • 1. Wh ite Pape r Using PHP Site Assistant to create sites for mobile devices Using PHP Site Assistant to create sites for mobile devices
  • 2. Overview application for a desktop computer, developers can present screens with a standard In the last few years, a major shift has occurred in the number and capabilities of resolution, minimally 800x600 pixels. Unfortunately, there are no standards when mobile devices. Improvements in processor speed, display quality and wireless designing a display for mobile devices. The screens on modern mobile devices range networking make these devices useful for a wider range of tasks than ever before. from 240x240 to 320x480. They may have objects like onscreen keyboards or button Armed with new tools and technologies, developers are creating web-based bars taking up room as well. It’s important to design an interface that wraps well applications for these new devices that blur the lines between desktops and and displays legibly on a range of screen sizes, as described in “Modifying the Site handhelds. Assistant’s output to target mobile devices.” For example, FileMaker Server 9 and FileMaker Server 9 Advanced provide the Popular mobile devices ability to interact with FileMaker files over the web via the new FileMaker API for The scope of this section is limited to the following mobile device families: PHP. FileMaker now provides a new application, PHP Site Assistant, to quickly create • Apple iPhone FileMaker-driven websites. The PHP Site Assistant presents a series of questions about • Windows Mobile devices how users will interact with the database over the web, and then builds a site that • Palm OS devices can be used as-is or customized. This paper addresses the modification of the pages generated by PHP Site Assistant to provide the best experience on mobile devices Apple iPhone like Smartphones. The iPhone is an Internet-enabled quad-band GSM EDGE-supported mobile phone with 802.11g wireless networking. User input comes through a multi-touch screen Important: This document is not intended to replace the product documentation. See with a virtual keyboard and buttons. The iPhone’s display dimensions are 320x480 the FileMaker Server documentation for complete instructions. and while web browsing, the display can be rotated 90 degrees to allow pages to be viewed in widescreen mode. A zoom in/out feature also allows the user to see more Differences between mobile and desktop devices data on the screen at once. The iPhone uses Safari as its web browser. Each year the gap between desktop and mobile devices continues to narrow. Mobile processor speed and network connectivity continue to improve, making web Windows Mobile browsing on these devices a viable alternative to laptops. Previously, mobile web Windows Mobile is a handheld operating system that runs on a wide variety of browsers required a special markup language, which added significant development mobile devices. Wireless networking, user input and screen resolution will vary by time and effort to deploying web applications for mobile devices. Fortunately, mobile device so consult the manufacturer’s documentation for specific information. The web browsers now use standard HTML. Given all the advancements, the biggest current version of the OS is Windows Mobile 6, which comes with a version of Internet limitation is the form factor itself—the size of the screen and input mechanism for data. Explorer designed specifically for Windows Mobile. Other browsers can also be loaded. Although most mobile devices use a keyboard to enter information, the size reduces the usability and efficiency for entering large amounts of data. One of the ways Palm OS developers can help their end users work more efficiently and accurately is by Palm is both a hardware and software provider and markets handheld devices that providing pop-up menus and radio buttons to reduce the amount of typing. You’ll run Palm OS and Smartphones that run either Palm OS or Windows Mobile. As with find more FileMaker design tips in the section “Preparing a database for mobile web the Windows Mobile devices screen resolution, networking and user input options access” below. vary from device to device, but specific device information can be found at the Palm website. Palm OS comes pre-loaded with its own web browser named Blazer, but Another limitation inherent in mobile devices is the small screen size. This must other browsers can be installed. be taken into consideration during database and site design. When designing an Using PHP Site Assistant to create sites for mobile devices page 1 Using PHP Site Assistant to create sites for mobile devices page 2
  • 3. Preparing a database for mobile web access Getting started with PHP Site Assistant Before using PHP Site Assistant, there are some things that should be done within the The PHP Site Assistant is included in FileMaker Server 9 and FileMaker Server 9 database. Taking these steps now saves time and improves site performance. Advanced. It uses a wizard-like interface that presents a series of questions about the type of site to create, the layouts to base the site on, and the way the site should • Designate layouts that will only be accessed by web-based users, and not look. It then generates a series of PHP pages that will perform the requested actions. FileMaker Pro users. When FileMaker data is requested from a web browser, The resulting pages can be customized with a web page editor or even a simple text the layout must also be included in the request. FileMaker sends data from editor like Notepad. Do not use a word processor, however, as it will not save the file every field on that specified layout to the web publishing engine, then on to back correctly. Customizing the PHP pages to improve the user experience on mobile the PHP application on the web server. It is important that the layout web users devices is critical. are interacting with only contains fields that are critical to the mobile users. This eliminates unnecessary overhead on the web server. Before opening PHP Site Assistant, ensure the following: 1. The database must be hosted on FileMaker Server 9 or FileMaker Server 9 • Before running PHP Site Assistant, format the fields on your designated web Advanced. layouts to display the same way they will on a web page. For example, first 2. Custom Web Publishing with PHP must be enabled. format a Gender field to display radio buttons with the “Male” and “Female” 3. The database must contain at least one account belonging to a privilege set choices on the FileMaker layout. When PHP Site Assistant generates the site, it that has the fmphp extended privilege enabled. automatically creates the appropriate HTML to display the field the same way. Use pop-up menus and radio buttons wherever appropriate to make data entry Once the server and database are properly configured, PHP Site Assistant can be easier for users. opened in two different ways: • In a web browser, access the Web Publishing Tools start page: • Because the FileMaker API for PHP also targets a specific FileMaker layout when http://<server host name or IP address>:16000/tools searching a database, it is important to restrict the number of users who can Once the next page loads click the Start PHP Site Assistant button. modify these layouts. If a field is unknowingly removed from a layout, the web- based search could produce unexpected results. • Use FileMaker Pro 9 Advanced to open a file from the FileMaker 9 Server then go to the Tools menu > Launch PHP Site Assistant. This will open a web • Create separate accounts and privilege sets for web-based access. This browser to the PHP and XSLT Site Assistant Tools page. Click the Start PHP Site privilege set should only provide access to those layouts designated for web- Assistant button. If the button is not enabled, make sure you have the fmphp based users. Similarly, the Extended Privileges should only allow access via Extended Privilege enabled on a user account. PHP web publishing. Restricting ways that web-based users can access your databases reduces your security risks. Both approaches will download PHP Site Assistant to the local machine. Subsequently, PHP Site Assistant can be opened directly from the local file. • Whether users are accessing data using FileMaker Pro or a web browser, performance will always be better if the fields you’re working with are indexed. Creating a site for mobile devices Wherever possible make sure that sorts and finds are not being performed After launching PHP Site Assistant, users create a new site and provide information on fields where indexing is turned off or that use or reference unstored about the capabilities their site will have, for example whether a site will be searched. calculations. The different screens in PHP Site Assistant are listed below along with important considerations when designing a site for use on mobile devices. Using PHP Site Assistant to create sites for mobile devices page 3 Using PHP Site Assistant to create sites for mobile devices page 4
  • 4. • Database Settings: The web server address, log in information, database and Modifying the output of the Site Assistant to target mobile devices security. Sites created by PHP Site Assistant are designed for desktop browsers, but with • Layout Group: A set of layouts that all use the same table occurrence. a few simple changes, the same site can serve a dual purpose, supporting both • Site Profile: Specifies the functions people need to perform. After selecting a desktop and mobile browsers. This is accomplished by creating alternate style sheets Site Profile, the pages that make up that particular profile are displayed, along designed specifically for mobile devices and by making minor changes to the .php with options for setting the layout, fields and associated options for each page. pages. Some best practices: - Limit the number of records being returned on the Record List page. Creating an alternate style sheet Setting a low number of rows to display per page minimizes scrolling and The easiest way to create a style sheet specifically for mobile devices is to modify an improves load time. existing style sheet already created by PHP Site Assistant. While any of the themes - Keep page titles as short as possible. The title of each page appears in the offered by PHP Site Assistant can be modified for this use, the Plain - White theme is navigation bar at the top of the screen. Short titles reduce the chances the recommended because it creates a site with a very basic design. navigation bar will wrap onto multiple lines. After PHP Site Assistant generates the pages in the site, open the site folder. • Theme: Determines the look of the site. Choose Plain – White for the best Duplicate the plain_white.css file and rename the duplicate mobile.css. Once the experience on handheld computers. general changes have been made to the mobile.css style sheet, you can duplicate it • Output Settings: Allows you to preview the site and select where to save the and use it as a staring point for the iPhone style sheet. files. Choosing a theme in PHP Site Assistant does not change the functionality of the PHP After PHP Site Assistant generates the site, the files are saved in the location specified code that is generated. The only exception is a single line that each .php file contains on the Output Settings screen. in its <head> section showing the style sheet it references. If the Plain – White theme was chosen, each of the .php files would contain this line: A look at the files PHP Site Assistant creates When PHP Site Assistant generates the site, it creates several .php files and one .css <link rel=”stylesheet” type=”text/css” media=”screen” href=”plain_white.css”> file that reflects the theme that was specified. For example if the Plain - White theme was chosen a file named “plain_white.css” is generated. Setting mobile devices to use the correct style sheet The media =”screen” portion of the line above tells the browser to use the plain_ If a theme with a background image was chosen, you’ll also see an “Images” directory white.css style sheet to display this page if it is being viewed on a desktop computer. that contains the background images. Adding a second line containing media=”handheld” tells the browser to use a different style sheet if the page is being viewed on a device that identifies itself as a Each .php file contains a line in the header referencing the name of the .css file. handheld device. Assuming that a style sheet named “mobile.css” has already been For example, with the Plain – White theme, you’ll see the following in the .php file: created, adding this line to the header will direct handheld browsers to use the “mobile.css” style sheet: <link rel=”stylesheet” type=”text/css” media=”screen” href=”plain_white.css”> <link rel=”stylesheet” type=”text/css” media=”handheld” href=”mobile.css”> Changing the theme in Site Assistant to Circles – Green and generating the site again changes the line in each .php file to: Targeting the iPhone with a specific style sheet This method is sufficient for most phones and PDAs, including Windows Mobile and <link rel=”stylesheet” type=”text/css” media=”screen” href=”circles_green.css”> Using PHP Site Assistant to create sites for mobile devices page 5 Using PHP Site Assistant to create sites for mobile devices page 6
  • 5. Palm devices, but not the iPhone. On the iPhone, the Safari web browser identifies Padding itself as a desktop browser so it uses the style sheet specified for the “screen” media The Padding attribute determines the amount of space on each side of an element type. within that element’s borders. Because mobile devices have much smaller screens than desktop devices, the padding should be set to the minimum value that ensures In the iPhone developer documentation, Apple provides a technique for making legibility. the iPhone use a different style sheet by evaluating the maximum screen size of the device. Adding the following third line to each .php file causes the iPhone to use the Padding around many elements such as the header, the page navigation buttons, and mobile.css style sheet. the field data should be reduced to save screen space. In general, the padding on the top and bottom can safely be set to 0, but 1 or two pixels on the left and right may be <link media=”only screen and (max-device-width: 480px)” href=”mobile.css” necessary to avoid running the text together. type=”text/css” rel=”stylesheet”> Margins iPhone viewport The Margin attribute is very similar to the Padding attribute except that the margin In addition to adding the above line, one more option must be set to ensure that the defines the white space around an element’s border, while padding refers to the page displays at the correct scale. On the iPhone, the viewport determines the size white space within the border. at which a web page should be displayed. By default, the iPhone assumes that web pages are designed for a desktop browser and sets the viewport to 980 pixels wide. The margin attributes in the style sheets modified for mobile devices can generally be set 0, and any white space needed can be provided using the padding attribute. Add the following line to the <head> section of each .php page to set teh viewport to be 320 pixels wide: Hiding sections of the page While some parts of the page should be modified to fit on the screen, others should <meta name = “viewport” content = “width = 320”> be excluded on mobile devices. This can be accomplished by setting the display property to none. For example, the code shown below hides #header, which would For additional information about setting viewport options see “Configuring the normally appear above the page navigation buttons. Viewport” in the Safari web content guide available from the Apple Developer #header{ Connection. display: none; http://developer.apple.com/iphone/devcenter/ } Changing the mobile.css style sheet The images below show the difference these changes make. Both images show a list When making changes to the .css and .php pages, be aware that some mobile of five records, but the one on the right is rendered using a style sheet optimized for browsers do not support all features of CSS. Be sure to test your pages on the target mobile devices mobile devices. This section provides general guidelines on changing the style sheet generated by PHP Site Assistant. It is important that you do independent research to learn more about working with cascading style sheets. All examples shown below are taken from code generated by PHP Site Assistant 1.0. Using PHP Site Assistant to create sites for mobile devices page 7 Using PHP Site Assistant to create sites for mobile devices page 8
  • 6. 1. Use a container field to store the images inside the FileMaker database. Pros • Easy for FileMaker users to add and remove images. • FileMaker and web users will see the images immediately. Cons • Web users will be unable to add or remove images. • Database file size will increase quickly. 2. Use a container field and store a reference to the image file in FileMaker. The images must be stored on your web server. Pros • FileMaker users will see the images immediately. • Database file size will not increase significantly. Cons • Web users will be unable to add and remove images. • FileMaker users will need to have access to the web server volume • If the files are moved or the path to them is changed, FileMaker and web users will lose access to them. • More difficult approach than storing images in a container field. 3. Use a text field to store a URL to where the image resides. Changes to the individual .php pages Pros findrecords.php • Database file size will not increase significantly. If the site profile specified in PHP Site Assistant contains a search page, you can modify the findrecords.php page to reduce the number of records returned. At Cons the bottom of the findrecords.php is a menu that controls the number of records • FileMaker users will need a scripted process to add and remove images. displayed per page. The smallest value in the menu by default is 10. Because of the • FileMaker users must use the Web Viewer to see the images. limited amount of space on mobile device screens it is advisable to add another • If the files are moved or the path to them is changed, FileMaker and web users choice to that menu so users can choose to return only 5 records. will lose access to them. • The files PHP Site Assistant generates will need to be modified in order to recordlist.php display the image instead of the text of the URL. Move the “Restore Original Sort Order” link in the recordlist.php file out of the header and below the table to save space. No matter how you store the images, you should optimize them for handheld devices. • They should be in the GIF or JPEG format Working with images • They should be relatively low resolution There are three ways to serve images to the Web from FileMaker. The pros and cons • The image dimensions should fit on the screen without resizing of each must be evaluated to determine the best choice for a given application. Using PHP Site Assistant to create sites for mobile devices page 9 Using PHP Site Assistant to create sites for mobile devices page 10
  • 7. While these conditions do not have to be met in order for the images to be viewed, Palm OS adhering to them will improve performance. Palm Inc. offers the Palm Simulator to members of its developer program, which can be joined at https://pluggedin.palm.com/regac/pluggedin/. Simulators are offered Refer to these documents for more information on working with images. The for each of its Smartphone models that run the Palm OS. documents are included with FileMaker Server or can be downloaded from: www.filemaker.com/support/product/documentation.html Palm distributes Smartphones that run on either the Palm OS or Microsoft Windows • FileMaker Server 9 Custom Web Publishing with PHP Mobile. Downloads for both platforms are available from the Palm site. If the file has • FileMaker API for PHP Tutorial “Simulator” in the name, it is for a Palm OS device and should contain everything needed to run it. If the download is referred to as an “Emulator”, it is for a Windows Testing your site Mobile device and only contains a ROM file. To test on the Windows Mobile devices There is no single program that can be used to ensure that content displays correctly you will also need the Mobile Device Emulator from Microsoft. See the next section on all devices, but the manufacturers of each of the devices discussed provide test for more information. environments. These programs are free, but may require registration as part of a developer program in order to download them. Windows Mobile Microsoft provides an application for testing software developed for Windows iPhone Mobile called Mobile Device Emulator. It is available in the Windows Mobile area of Because the iPhone uses the same web browser that runs on OS X, Safari can be Microsoft’s website. Be sure to get the standalone edition and to download both the used on a desktop computer for testing. Apple is developing a version of Safari for efp.msi and the V1Emulator.zip files. Windows that can be downloaded, as a beta, from the Apple website. In addition to the Mobile Device Emulator, Microsoft Virtual PC 2007 will also need to Although running Safari on the iPhone is very similar to running it on the desktop be downloaded and installed. The Virtual PC application does not need to be running there are a few differences. Safari on iPhone does not support the following web in order to run Mobile Device Emulator, but it must be installed in order to allow technologies: Mobile Device Emulator to use your machine’s network connection. • Modal dialogs As of this writing all of the device images that come with Mobile Device Emulator are • Mouse-over events for Windows Mobile 5. The current version of Windows Mobile is version 6. Therefore • Hover styles it is recommended that you also search for and download the Windows Mobile 6 • Tooltips localized emulator images from Microsoft’s site. • Java applets • Flash • SVG • XSLT About the author • Plug-in installation Alan Kirtlink is an information analyst with Skeleton Key, a FileMaker Business • Custom x.509 certificates Alliance member based in St. Louis, Missouri (http://www.skeletonkey.com). He has • WML been developing in FileMaker and showing others how to do it since 1994. Alan is a • File uploads and downloads FileMaker certified developer and trainer as well as a contributor to FileMaker Advisor magazine. Using PHP Site Assistant to create sites for mobile devices Using PHP Site Assistant to create sites for mobile devices
  • 8. Additional resources • FileMaker – PHP Overview http://www.filemaker.com/support/technologies/php.html • FileMaker - Documentation http://www.filemaker.com/support/product/documentation.html • Apple Developer Connection – Development for iPhone http://developer.apple.com/iphone/devcenter/ • Microsoft Windows Mobile http://www.microsoft.com/windowsmobile/developers/ • Palm Developer Network https://pdn.palm.com/regac/pdn/ • W3C Mobile Best Practices http://www.w3.org/TR/mobile-bp/ Using PHP Site Assistant to create sites for mobile devices