Hi

>>
>>   https://people.mozilla.org/~tzimmermann/browser-like_ui.pdf
>>
>> It also contains some mock-up images based on an older UI of Firefox
>> Android.
> Yup, I agree, there's a lot of similarities. I shall make no claims to
> have thought of this first :)

I promise to not sue you for copyright violation. :D

>
> One thing that I do think is critical is that we enable users to
> access the "new tab" and "switch tab" UI from anywhere in the OS.
> Including when using the dialer and the homescreen.

I agree.

When creating these mock-up images, I noticed how hard it is to make the
new "Tile screen with background picture" visually different from a
traditional Home screen. As soon as I added an image in the background
it looked more like the Home screen and less like the Tile screen. Maybe
there needs to be a one-pixel frame, connecting top and bottom menus. Or
the menus and icons need different shading and shadowing.

Best regards
Thomas

>
> / Jonas
>
>> Best regards
>> Thomas
>>
>>
>> Am 12.05.2015 um 01:10 schrieb Jonas Sicking:
>>> Hi All,
>>>
>>> We've debated various forms of making FirefoxOS more webby and less
>>> app focused. The new security model is one example of that. The
>>> pinning proposals from Ben is another.
>>>
>>> I have several goals with this:
>>>
>>> First off, I think creating something more webby means providing a
>>> significant differentiator to Android/iOS. We can create something
>>> which cause people to not just count the number of apps that we have,
>>> but instead look at other differences.
>>>
>>> Second, I think the web model provides substantial benefits. All
>>> modern operating systems, desktop and mobile alike, use an application
>>> model. But this model came about due to engineering reasons, not for
>>> UX reasons. On desktop the web model has proven remarkably popular and
>>> successful, and I see no reason why it couldn't on mobile too.
>>>
>>> Third, by creating something more webby, I think we'll make better use
>>> of the content that we have. I.e. it'll make better use of the web as
>>> it is and as it will be for the near term future.
>>>
>>>
>>> So what does "more webby" mean. I'd like to take inspiration for how
>>> desktop browsers work.
>>>
>>> On a desktop browser we separate "browser UI", aka "chrome", from "web
>>> content", aka "content".
>>> We generally render the content front and center and let it take up
>>> the majority of the window.
>>>
>>> The chrome provides two things: A navigation UI which sits around the
>>> edges of the window, as well as various pages, like about:home and
>>> about:preferences which is rendered in the area where we otherwise
>>> render content.
>>>
>>> An important part of the navigation UI is session management, which on
>>> desktop is done in the form of tabs. Tabs let you create any number of
>>> sessions and let you quickly switch between them.
>>>
>>> The chrome always surround the area where we render content. But
>>> sometimes we also display chrome in the area normally used by content,
>>> for example for about:home and about:preferences.
>>>
>>>
>>> So we could do the same thing for FirefoxOS. Lets treat Gaia as
>>> "chrome" from a user point of view, i.e. as "Phone UI" (or "TV UI" or
>>> whatever product that we're building). This doesn't mean that we
>>> should give it with Gecko chrome privileges though, I think there's
>>> still good reasons not to.
>>>
>>> This UI should provide both navigation UI, as well as UI for home
>>> screen, phone calls, text messages, camera, and whatever other
>>> functionality that we think built-in UI should have.
>>>
>>>
>>> So, starting with the navigation UI, I think we should follow
>>> desktop's lead and leave session management up to the user. So like
>>> how we don't open bookmarks in new tabs on desktop, I don't think we
>>> should open icons on the homepage in a new window.
>>>
>>> So by default I think there is only a single window. This window
>>> starts with the homescreen, and when the user clicks an icon, this
>>> window is navigated to whatever URL that icon represents.
>>>
>>> This includes if the icon that was clicked is for the dialer or some
>>> other Gaia content. It even includes clicking the "home" button. The
>>> home simply acts like a bookmark which navigates the user to the
>>> homescreen.
>>>
>>> To enable the user to open a second session, we should have an
>>> explicit UI action which opens a new window, similar to how desktop
>>> has a UI action for opening a new tab. The user then stays in this
>>> tab, no matter which links are clicked or websites are navigated to.
>>>
>>> Any background window is unaffected by what the user does in the
>>> foreground window. This might mean that the user has the same gaia
>>> content open in two sessions at once. Even the homescreen might be
>>> open in multiple sessions at once.
>>>
>>> We can then enable the user to quickly switch between open sessions,
>>> or close any session. If the user close the last open session we can
>>> create a new session open at the homescreen.
>>>
>>> This means that the the current "task manager" UI becomes a "session
>>> manager" rather than a "app manager". We might also want to make
>>> bigger changes to that UI given that its primary use-case changes. But
>>> I'll leave that to a separate discussion.
>>>
>>> It also means that we more clearly always have something to go "back"
>>> to. I.e. the previous page that you visited in the current session.
>>> This means that we could hook up edge gestures to perform
>>> back/forward, or we could even include back/forward hardware keys if
>>> we want.
>>>
>>> Note that session management can be orthogonal to which content runs
>>> in which process. So just because the user stays within the same
>>> window when navigating between gaia and non-gaia content, or between
>>> different gaia content, doesn't mean that we need to stay within the
>>> same OS process.
>>>
>>>
>>> This also greatly changes what we can do with the rest of Gaia. Since
>>> it's all just part of the "phone UI" that this means that we don't
>>> have to have separate "apps" for the phone UI, text message UI,
>>> camera, etc. Its all just "phone UI" to the user, the same way that
>>> about:preferences and about:home is part of the browser UI on desktop.
>>>
>>> We might still want to separate various pieces of Gaia into separate
>>> origins or cookie jars for security reasons. And we might still want
>>> to use separate processes in order to prevent OOMs in one area of the
>>> UI from bringing down other UI.
>>>
>>> But by simply treating all of Gaia as "Phone UI" it means that we can
>>> make process and origin decisions independently from UX decisions. So
>>> for example dialer, messaging and contacts could be put into the same
>>> gaia package which means that they share IndexedDB and localStorage
>>> data.
>>>
>>> In fact, the only really strong reason to split different parts of
>>> gaia up is to security-wise separate some parts from others, just in
>>> case something gets hacked. So for example the email app deals with a
>>> lot of untrusted 3rd-party content which makes it more prone to get
>>> hacked, and so makes sense to separate from most other content. The
>>> same might be true for the media apps.
>>>
>>>
>>> There are of course a lot of details to iron out. Such as what happens
>>> if a webpage call window.open() or uses <a href="..."
>>> target="_blank">. On desktop that creates a new session in the form of
>>> a new window or tab. Do we want to do that here too even though we're
>>> saying that users are in charge of sessions?
>>>
>>> And when do we hide/compress the URL bar? Does it
>>> appears/disappear/compress/decompress when you navigate between
>>> gaia/pinned/unpinned content?
>>>
>>> We also need some way to go back to content which you have previously
>>> visited, but which you didn't save in a dedicated session. Something
>>> like the rocketbar or even a dedicated history UI could help here.
>>>
>>> These are clearly things we need to figure out, but I hope these
>>> things can be reasonably solved.
>>>
>>>
>>> So, in summary, the idea is to:
>>> * Don't use separate windows for separate "apps"
>>> * Enable platform-wide "tabs" which can be navigated to any URL,
>>> including gaia URLs.
>>> * The same URL can be open in multiple tabs at once, including gaia
>>> URLs. Even including the homescreen.
>>> * Icons on the homescreen are just like links and just navigates the
>>> current tab.
>>> * The homebutton simply navigates the current tab to the homescreen URL.
>>>
>>> Thoughts?
>>>
>>> / Jonas
>>> _______________________________________________
>>> dev-b2g mailing list
>>> [email protected]
>>> https://lists.mozilla.org/listinfo/dev-b2g

_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g

Reply via email to