Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conceptual problems with the Mobile theme #1336

Closed
cmfcmf opened this issue Oct 18, 2013 · 19 comments
Closed

Conceptual problems with the Mobile theme #1336

cmfcmf opened this issue Oct 18, 2013 · 19 comments
Labels
Milestone

Comments

@cmfcmf
Copy link
Contributor

cmfcmf commented Oct 18, 2013

There are some minor and major problems with our Mobile theme and how it is implemented at the moment:

  • Most pages look weird (_OR ARE EVEN BROKEN_). This happens because jqueryMobile does lot's of javascript and css stuff. For examples see below.
  • Pages / modules with extra mobile-optimized templates just look beautiful, see below.
  • The current way of handling extra mobile-optimized is done via the template overriding system. _Problems:_
    • The end-user has to copy the extra mobile-optimized templates from the module into the Mobile theme.
    • The end-user has to edit overrides.yml by hand _for every_ template of _every single module_ providing mobile templates.
    • It is bad to have the mobile-optimized core templates in the Mobile theme and not in the module folders. This easily results in the mobile templates being forgotten to be updated and getting outdated.

Ideas on how to avoid broken pages

  • A: Remove the Mobile theme.

  • B: Absolutely require every module to have Mobile templates.

  • C: Introduce a parameter in Version.php of each module saying if it supports the Mobile theme or not. If this parameter isn't set to true, a <div data-enhance="false>{$maincontent}</div> will be automatically added around the {$maincontent} variable, preventing jQueryMobile from enhancing the output.

  • D: Add an annotation which can be used in Controllers to specify if the action has a mobile-optimized template. If this annotation isn't located in the action's docblock, a <div data-enhance="false>{$maincontent}</div> will be automatically added around the {$maincontent} variable, preventing jQueryMobile from enhancing the output. Note that you still would have to move and override the templates to the Mobile theme.

  • E: In addition to D, auto-load the mobile-optimized template. This means:

    1. There is no such annotation located in the action's docblock:
      The Mobile theme will still load, but a <div data-enhance="false>{$maincontent}</div> will be automatically added around the {$maincontent} variable, preventing jQueryMobile from enhancing the output.
    2. There is such an annotation located in the action's docblock. This means:
      The $this->view->fetch('MyTemplateName.tpl'); method will alter the path to Mobile/MyTemplateName.tpl and render the mobile-optimized version of the template instead of the normal one.

    Notice that the templates stay in the module, the end-user has ZERO extra work by this. This was basically what I wanted to say in Think about [Mobile theme] and template overwriting #701.

I hope you get the point, if not, please feel free to ask as much questions as you like!

BAD looking

Search
bild
User login
bild 1
PostCalendar
bild 2
Dizkus
bild 3
bild 4

GOOD looking

Adminpanel
bild 5
Extensions overview
bild 6

@craigh
Copy link
Member

craigh commented Oct 18, 2013

I assume some of the stuff that is broken or weird looking could be a conflict between bootstrap and jQueryMobile. It might be worthwhile to try disabling bootstrap in the mobile theme entirely since it is built to use jQueryMobile, which is a "competing" paradigm.

I think your title summarizes the problem well - the concept is poor. But some of this is a product of the fact that most web development until the last 2 years or so has focused completely on desktop browsers. Now we are more and more concerned about mobile browsers and Zikula doesn't iterate fast enough to keep up with this need (both core and modules).

Since Bootstrap is now an integral core technology and Bootstrap is famously "mobile first" then we must leverage that advantage. The core themes need to be "bootstrapped" and this will eliminate the need for a "mobile" theme as the regular theme will automatically adapt to the mobile browser. Modules will need to adjust (over time) in a few areas, but not too much probably.

@cmfcmf
Copy link
Contributor Author

cmfcmf commented Oct 18, 2013

So you basically say: Drop the Mobile theme. Bootstrap themes and modules. It will be mobile first then without any other magic like jQueryMobile, right?

@damon18
Copy link

damon18 commented Oct 18, 2013

So you basically say: Drop the Mobile theme. Bootstrap themes and modules. It will be mobile first then without any other magic like jQueryMobile, right?

Yes, I agree with that, been spending a lot of time lately trying to fully understand Bootstrap 3.0 and it is quite a shift on how to handle various browser window sizes. The shift is to no longer think of "phone view", unless you are talking about the old WAP (fip phone) displays. Instead think of making the content display well on all browser viewport sizes.

This means you don't have to maintain two different themes for the same content.

"Gentlemen, we can rebuild these themes. We have the technology. We have the capability to build the world's first fully responsive application framework. Zikula will be that framework. Better than it was before. Better, stronger, faster."

http://www.imdb.com/title/tt0071054/quotes

@craigh
Copy link
Member

craigh commented Oct 18, 2013

So you basically say: Drop the Mobile theme. Bootstrap themes and modules. It will be mobile first then without any other magic like jQueryMobile, right?

yes, that is essentially what I am saying. Although I am no expert, I believe that is the point of Bootstrap. I was hoping @phaidon would contribute his thoughts as well.

@phaidon
Copy link
Contributor

phaidon commented Oct 18, 2013

I thought a lot about this topic. Here my current state:

We should drop jQueryMobile

  • There are to many incompatibilities with bootstrap and
  • the advantages of using it are not anymore there with bootstrap.

So can we drop the mobile theme and let bootstrap do everything?

I think for moment no:

  • The old themes dont use bootstrap
  • and sometimes it is really hard to make a theme which is working for desktop and mobileeven with bootstrap. Sometimes it needs a totally different operating concept.

So what should we do?

I suggest to make the current themes mobile ready with bootstrap.

But in addition would leave the mobile theme, but without jquerymobile.

Maybe we should offer the modules the possibility to provide a mobile template.

@craigh
Copy link
Member

craigh commented Oct 18, 2013

@phaidon - are you back up and running? new computer?

@phaidon
Copy link
Contributor

phaidon commented Oct 19, 2013

@phaidon - are you back up and running? new computer?

Not really. I just borrowed one for the moment. I was to busy in the last days to take care about it in the last days.

@cmfcmf
Copy link
Contributor Author

cmfcmf commented Oct 19, 2013

But in addition would leave the mobile theme, but without jquerymobile.

Maybe we should offer the modules the possibility to provide a mobile template.

I don't understand what you mean by a mobile theme without jquerymobile.

@phaidon
Copy link
Contributor

phaidon commented Oct 19, 2013

I don't understand what you mean by a mobile theme without jquerymobile.

You dont need a jquerymobile to make a mobile theme. See for example here:
http://ubuntuusers.de/?flavour=mobile

@craigh
Copy link
Member

craigh commented Oct 19, 2013

I don't understand what you mean by a mobile theme without jquerymobile.

visit this site on both your computer and your phone at the same time:

http://startbootstrap.com/templates/business-casual/

Bootstrap allows you to create one site that automatically adapts to the screensize you are viewing it with. so you don't need another subdomain or special url for the mobile viewer.

@Guite
Copy link
Member

Guite commented Oct 19, 2013

Nice example, @craigh

@cmfcmf
Copy link
Contributor Author

cmfcmf commented Oct 19, 2013

Yes, I know the Bootstrap mobile first stuff.

I don't get the point why we should keep the Mobile theme (refactored, without jQueryMobile) AND refactor our core themes.

@Guite
Copy link
Member

Guite commented Oct 19, 2013

imho we don't need a special Mobile theme without jQuery mobile anymore if other themes provided by the core are able to be used on a small viewport with a pleasing experience. Keeping the Mobile theme including jQuery mobile would be a benefit, but still not required

@phaidon
Copy link
Contributor

phaidon commented Oct 19, 2013

Keeping the Mobile theme including jQuery mobile would be a benefit, but still not required

There are compatibility issues with bootstrap.

I don't get the point why we should keep the Mobile theme (refactored, without jQueryMobile) AND refactor our core themes.

Two reasons:

  1. Themes which dont use bootstrap
  2. For persons which wont to have a mobile theme with a total other operating concept.

@craigh craigh mentioned this issue Jan 8, 2014
23 tasks
@phaidon
Copy link
Contributor

phaidon commented May 23, 2014

After thinking long about the whole topic, I agree to drop the jquery-mobile and the mobile theme.

There are conceptional problems with the mobile theme. So I suggest to go mobile first, too.

If I read the topic right we have all now the same opinion. Or did I missed something?

@craigh @cmfcmf @Guite @Drak

If there are no negative posts in the next days I will make a pr to drop it.

@craigh
Copy link
Member

craigh commented May 23, 2014

yes, I think we all agree now. @cmfcmf ?

@cmfcmf
Copy link
Contributor Author

cmfcmf commented May 23, 2014

Right 😃

@shefik
Copy link
Contributor

shefik commented May 24, 2014

I agree to drop the "Mobile" theme and go mobile-first.

@ghost
Copy link

ghost commented May 24, 2014

good

On 24 May 2014 05:07, Shefik [email protected] wrote:

I agree to drop the "Mobile" theme and go mobile-first.


Reply to this email directly or view it on GitHubhttps://github.com//issues/1336#issuecomment-44077127
.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants