Mobile App Development Trends To Follow In 2016.

mobile_app_development_trends2.jpg

Mobile

Dec 15, 2018

Mobile App Development Trends To Follow In 2016.

Internet has exploded these days and today’s generation is fond of various mobile devices like mobile, iPad, tablets, etc. making it possible for mobile phone users to do shopping, order food online, playing games, tracking workouts and much more. Mobile app development is becoming more popular these days; it has affected our daily lives in all ways.

You may have also planned for developing a mobile app for your business, to enhance its performance and achieve competitive advantage. Developing a mobile app for your business can give a great boost to its online visibility. Technology is moving very swiftly these days, and be updated with all the latest trends is difficult for a business.

Following are the trends for Mobile App Development which app developers should pursue to achieve success in this New Year.

Cross platform will take the spotlight

There are many types of devices available these days like, iOS, Android, Java, Blackberry etc. and it is difficult to find apps that run on a single platform. In 2016, mobile app development will not be restricted to a single platform but will extend its reach from iOS to wearable technologies.

Ecommerce Engine

Mobile has become a new fashion, everyone is fond of it. It is applicable for e-commerce too. E-commerce market leaders have hoped for the new opportunity and moved to the app-only mode of their websites. Around 90% of the traffic on these websites falls from mobiles & tablets only. In 2016, this trend will pop up more and consumers will ask for more e-commerce apps.

 

iOS v/s Android Battle

Android and Apple are the biggest players in Operating Systems. Most of the OS market is captured by Android, then iOS and remaining by windows & other operating systems. From last year’s revenue figures, it is clear that iOS and Android will be ruling the market again, but this war is good news for both users and developers.

Incorporation of cloud technology in apps

Cloud technology has ruled the Mobile app development arena in 2015 and will continue doing this in coming years. Developers will opt for cloud technology in mobile apps this year also as it allows users to sync their apps across several device. It also helps developers to keep their mobile apps handy.

Better Advertising and Marketing of Apps

Mobile apps are having great potential to fetch money and in 2016, it will be rising. These apps will rely on different channels for marketing and advertising; it will move beyond simple banner ads to image and videos advertising. Mobile app developers will try to push the boundary of advertisements and purchases from paid download models of marketing.

As 2016 has approached, it has been cleared that Mobile apps will be the stars. The interest in mobile app development will increase, and it will give great returns to the businesses. Make sure your business has its competitive advantage over its competitors with having your own mobile app this year. Implementing these trends will increase your online presence and digital growth.

Mobile Application Development will get the spotlight this year. Businesses that need digital growth and online presence will opt for mobile apps and will also follow top trends. Cross platform development, cloud technology, competition between Android & iOS and better advertising strategies will rule the mobile app market.

Baymediasoft is a creative Mobile App Development company offering complete mobile solutions. Its expert team can create custom apps along with latest trends. We offer stunning iPhone, iPad and Android app development services at reasonable prices.

Also Read: Top 10 Mobile App Marketing Tools For Marketers

Author
Capture.JPG
Kathy Johnson

Super Blogger

Be the first to comment!

Leave a comment

recent blogs

Checkout more of our Creative Writings

WordPress The Safest Platform For Entrep...

WordPress Is Self-possessed For Expected Growth As...

J

  • James Smith
  • |
  • 2 years ago
Wordpress Development Services

Creating Your Websites In WordPress Does Not Let Y...

J

  • James Smith
  • |
  • 2 years ago
Blockchain Technology

Blockchain Technology Is Winning Trust With Time....

S

  • Sheron Kelly
  • |
  • 2 years ago
Best WordPress Plugins For Performance O...

WordPress As A Stage Offers A Lot Of Choices For E...

J

  • James Smith
  • |
  • 2 years ago
Quick Steps To Add Header And Footer Cod...

Here We Will Be Discussing Two Methods By Which Yo...

J

  • James Smith
  • |
  • 2 years ago
A Quick Guide For Fixing 500 Internal Se...

This Internal Server Error Screen Surely Panics Ev...

K

  • Kathy Johnson
  • |
  • 2 years ago

clients

head quarter

ping us!

let's get connected

Whoops! There was an error.
ErrorException (E_WARNING)
file_put_contents(/home/baymediasoft/sites/baymediasoft.com/storage/framework/sessions/0vyor73msHsPUoSyo7arJ9NbrVJomVNxyASjQvWj): failed to open stream: No space left on device ErrorException thrown with message "file_put_contents(/home/baymediasoft/sites/baymediasoft.com/storage/framework/sessions/0vyor73msHsPUoSyo7arJ9NbrVJomVNxyASjQvWj): failed to open stream: No space left on device" Stacktrace: #7 ErrorException in /home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #6 file_put_contents in /home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #5 Illuminate\Filesystem\Filesystem:put in /home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php:83 #4 Illuminate\Session\FileSessionHandler:write in /home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Session/Store.php:129 #3 Illuminate\Session\Store:save in /home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:87 #2 Illuminate\Session\Middleware\StartSession:terminate in /home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:218 #1 Illuminate\Foundation\Http\Kernel:terminateMiddleware in /home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:189 #0 Illuminate\Foundation\Http\Kernel:terminate in /home/baymediasoft/sites/baymediasoft.com/public/index.php:60
7
ErrorException
/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php122
6
file_put_contents
/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php122
5
Illuminate\Filesystem\Filesystem put
/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php83
4
Illuminate\Session\FileSessionHandler write
/vendor/laravel/framework/src/Illuminate/Session/Store.php129
3
Illuminate\Session\Store save
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php87
2
Illuminate\Session\Middleware\StartSession terminate
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php218
1
Illuminate\Foundation\Http\Kernel terminateMiddleware
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php189
0
Illuminate\Foundation\Http\Kernel terminate
/public/index.php60
/home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Prepend to a file.
     *
     * @param  string  $path
     * @param  string  $data
     * @return int
     */
    public function prepend($path, $data)
    {
        if ($this->exists($path)) {
            return $this->put($path, $data.$this->get($path));
        }
 
        return $this->put($path, $data);
    }
 
    /**
     * Append to a file.
Arguments
  1. "file_put_contents(/home/baymediasoft/sites/baymediasoft.com/storage/framework/sessions/0vyor73msHsPUoSyo7arJ9NbrVJomVNxyASjQvWj): failed to open stream: No space left on device"
    
/home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Prepend to a file.
     *
     * @param  string  $path
     * @param  string  $data
     * @return int
     */
    public function prepend($path, $data)
    {
        if ($this->exists($path)) {
            return $this->put($path, $data.$this->get($path));
        }
 
        return $this->put($path, $data);
    }
 
    /**
     * Append to a file.
Arguments
  1. "/home/baymediasoft/sites/baymediasoft.com/storage/framework/sessions/0vyor73msHsPUoSyo7arJ9NbrVJomVNxyASjQvWj"
    
  2. "a:3:{s:6:"_token";s:40:"o8vqSTNmUof6nGct4Hot2sWUbXn8VNcHkdjK8jwG";s:9:"_previous";a:1:{s:3:"url";s:88:"https://www.baymediasoft.com/blog/mobile/mobile-app-development-trends-to-follow-in-2016";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. 2
    
/home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php
    /**
     * {@inheritdoc}
     */
    public function read($sessionId)
    {
        if ($this->files->isFile($path = $this->path.'/'.$sessionId)) {
            if ($this->files->lastModified($path) >= Carbon::now()->subMinutes($this->minutes)->getTimestamp()) {
                return $this->files->sharedGet($path);
            }
        }
 
        return '';
    }
 
    /**
     * {@inheritdoc}
     */
    public function write($sessionId, $data)
    {
        $this->files->put($this->path.'/'.$sessionId, $data, true);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function destroy($sessionId)
    {
        $this->files->delete($this->path.'/'.$sessionId);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function gc($lifetime)
    {
        $files = Finder::create()
Arguments
  1. "/home/baymediasoft/sites/baymediasoft.com/storage/framework/sessions/0vyor73msHsPUoSyo7arJ9NbrVJomVNxyASjQvWj"
    
  2. "a:3:{s:6:"_token";s:40:"o8vqSTNmUof6nGct4Hot2sWUbXn8VNcHkdjK8jwG";s:9:"_previous";a:1:{s:3:"url";s:88:"https://www.baymediasoft.com/blog/mobile/mobile-app-development-trends-to-follow-in-2016";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. true
    
/home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Session/Store.php
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForUnserialize($data)
    {
        return $data;
    }
 
    /**
     * Save the session data to storage.
     *
     * @return bool
     */
    public function save()
    {
        $this->ageFlashData();
 
        $this->handler->write($this->getId(), $this->prepareForStorage(
            serialize($this->attributes)
        ));
 
        $this->started = false;
    }
 
    /**
     * Prepare the serialized session data for storage.
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForStorage($data)
    {
        return $data;
    }
 
    /**
     * Age the flash data for the session.
     *
     * @return void
Arguments
  1. "0vyor73msHsPUoSyo7arJ9NbrVJomVNxyASjQvWj"
    
  2. "a:3:{s:6:"_token";s:40:"o8vqSTNmUof6nGct4Hot2sWUbXn8VNcHkdjK8jwG";s:9:"_previous";a:1:{s:3:"url";s:88:"https://www.baymediasoft.com/blog/mobile/mobile-app-development-trends-to-follow-in-2016";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
/home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        if ($this->sessionHandled && $this->sessionConfigured() && ! $this->usingCookieSessions()) {
            $this->manager->driver()->save();
        }
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Contracts\Session\Session
     */
    protected function startSession(Request $request)
    {
        return tap($this->getSession($request), function ($session) use ($request) {
            $session->setRequestOnHandler($request);
 
            $session->start();
        });
    }
 
    /**
     * Get the session implementation from the manager.
/home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
                continue;
            }
 
            list($name) = $this->parseMiddleware($middleware);
 
            $instance = $this->app->make($name);
 
            if (method_exists($instance, 'terminate')) {
                $instance->terminate($request, $response);
            }
        }
    }
 
    /**
     * Gather the route middleware for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    protected function gatherRouteMiddleware($request)
    {
        if ($route = $request->route()) {
            return $this->router->gatherRouteMiddleware($route);
        }
 
        return [];
    }
 
    /**
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#586 …5}
      #routeResolver: Closure() {#574 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/blog/mobile/mobile-app-development-trends-to-follow-in-2016"
      #requestUri: "/blog/mobile/mobile-app-development-trends-to-follow-in-2016"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#300}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {#742}
    
/home/baymediasoft/sites/baymediasoft.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#586 …5}
      #routeResolver: Closure() {#574 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/blog/mobile/mobile-app-development-trends-to-follow-in-2016"
      #requestUri: "/blog/mobile/mobile-app-development-trends-to-follow-in-2016"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#300}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {#742}
    
/home/baymediasoft/sites/baymediasoft.com/public/index.php
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#586 …5}
      #routeResolver: Closure() {#574 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/blog/mobile/mobile-app-development-trends-to-follow-in-2016"
      #requestUri: "/blog/mobile/mobile-app-development-trends-to-follow-in-2016"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#300}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {#742}
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
REDIRECT_HTTPS
"on"
REDIRECT_SSL_TLS_SNI
"www.baymediasoft.com"
REDIRECT_STATUS
"200"
HTTPS
"on"
SSL_TLS_SNI
"www.baymediasoft.com"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_ACCEPT_LANGUAGE
"en-US,en;q=0.5"
HTTP_IF_MODIFIED_SINCE
"Sun, 20 Sep 2020 23:39:30 GMT"
HTTP_ACCEPT_ENCODING
"br,gzip"
HTTP_HOST
"www.baymediasoft.com"
HTTP_CONNECTION
"Keep-Alive"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
"<address>Apache/2.4.29 (Ubuntu) Server at www.baymediasoft.com Port 443</address>\n"
SERVER_SOFTWARE
"Apache/2.4.29 (Ubuntu)"
SERVER_NAME
"www.baymediasoft.com"
SERVER_ADDR
"198.71.61.90"
SERVER_PORT
"443"
REMOTE_ADDR
"44.192.22.242"
DOCUMENT_ROOT
"/home/baymediasoft/sites/baymediasoft.com/public"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/home/baymediasoft/sites/baymediasoft.com/public"
SERVER_ADMIN
"webmaster@localhost"
SCRIPT_FILENAME
"/home/baymediasoft/sites/baymediasoft.com/public/index.php"
REMOTE_PORT
"58204"
REDIRECT_URL
"/blog/mobile/mobile-app-development-trends-to-follow-in-2016"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/blog/mobile/mobile-app-development-trends-to-follow-in-2016"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1627952635.821
REQUEST_TIME
1627952635
APP_NAME
"Baymediasoft"
APP_ENV
"production"
APP_KEY
"base64:E1nBdT5JyM/81mQVGfjPJZDGygoS3srCclVMMuseqOw="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://www.baymediasoft.com"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"baymediasoft"
DB_USERNAME
"baymediasoft"
DB_PASSWORD
"bayAxTFb>3<AR43Z"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"mail"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"33dd4dbcd12c67"
MAIL_PASSWORD
"d701aabf2758ff"
MAIL_ENCRYPTION
"tls"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
Key Value
APP_NAME
"Baymediasoft"
APP_ENV
"production"
APP_KEY
"base64:E1nBdT5JyM/81mQVGfjPJZDGygoS3srCclVMMuseqOw="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://www.baymediasoft.com"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"baymediasoft"
DB_USERNAME
"baymediasoft"
DB_PASSWORD
"bayAxTFb>3<AR43Z"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"mail"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"33dd4dbcd12c67"
MAIL_PASSWORD
"d701aabf2758ff"
MAIL_ENCRYPTION
"tls"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
0. Whoops\Handler\PrettyPageHandler