 Hello everybody, thank you for attending this session on in short mobile Drupal Have been giving presentations on mobile Drupal already for the last two years and Every time I can manage to make the presentation more narrow going to more into a niche of mobile and Drupal and I have a bunch of slides and maybe next time I should just talk about Mobile and views mobile panels, so I will go through a lot of content. There's a lot of text Afterwards you can read About what I've said here So In these two years, there are definitely some big trends That happens while when I started to use and a half ago with mobile I always tried to sell mobile was working from a company that did mobile stuff We were talking about transcoding desktopsides We were more talking about Nokia, Symbian support for lower-end devices while these days We talked more about HTML5, CSS3 Android is getting huge Also people sitting here are already solved to mobile, I guess Everybody has something in mind or is already building some mobile stuff and just need some more knowledge So there are a lot of things Going on it's a really fast Moving space so quickly about me. I moved in the Drupal space think around 2005 and I started that music and Drupal and music sheet music and In 2009 I moved from Belgium to New York where I started working from Belgium mobile startup And our mission was to create tools for developers to make mobile websites And I tried to find a way to help Drupal developers make mobile sites So maybe some of you who were around around 2010 in the mobile sphere Know of Osmobi was kind of tool that Allow you to easily make mobile websites, but to better the startup Sees to exist In 2010 I became a full-time Drupal consultant did a lot of Drupal work pioneered a lot of mobile sites for big lines AT&T Johnson & Johnson And some smaller ones and now I'm at consumer search And that's the Department of New York Times and about to come and we also focus a lot on mobile I maintain some modules Remember mainly mobile tools. That's heavily used more module that can help you in building a mobile site or can help you prototyping mobile sites Some of you who have used mobile tools will know that it has a lot of functionality a lot of features And maybe you don't need all these features So you can use mobile tools or you can just take some ideas out of it for me It was always a kind of a box where experimented with try to see how far I can go with Drupal and mobile Wordful can be useful to do device detection in Drupal The other modules are fairly low Key not a lot of users but in case you're interested in one of these always looking for co-maintenors so Quickly consumer search. We are like I said part of about it calm and in New York Times. We focus on bringing information to Users about consumer goods. We have a big editorial team We try to make high quality content and of course you have a mobile website that we built in 2011 and The basic idea is people search everywhere When they need information about products So you can always go to the website definitely if you're from the US Can be kind of interesting. However, not too much about that more about Drupal Just some numbers. We are very high traffic sites and actually we saw a doubling of mobile traffic in the last year The growth has been steadily. There are no big Changes in the last year having the mobile sites strangely did not increase traffic and at this point we don't have too much data about Like revenue generated by the mobile sites We know we get more revenue per click, but typically people click less on mobile So that's the only statistics. I really can can share here about mobile and what effect it has on our business Very short on some specificities on the our side It could be interested in these kind of things we use one URL for both mobile and desktop There's no real big reason why we do that. It's just very transparent for the user So we chose that way you cannot go wrong at this point. It's choosing two URLs neither There are some discussions in the SEO world, but you can choose We rely heavily on Akamai Akamai is an edge caching solution So there's a very Specific case where we have to do a lot of mobile configuration There so that's not really Drupal related We have our own mobile team where we do a lot of template overrides really a lot. So it's And we do one-to-one mapping of each mobile desktop page to mobile page And we get rid of as much as possible the default JavaScript CSS and We gradually build the mobile sites and some pages are still not mobile friendly So we just give the desktop sites. So these are like the highlights of how we build the sites I'm going to cover a lot more things that are general Drupal that are not covered by our sites Yeah, we chose to make a mobile site first. One of the big reasons is just to reach It's easy to get a lot of people with with the browser. You can easily tweet about stuff and URLs open a browser URLs don't open an app that easily So that's why we definitely choose a website first also mail communication. We send out a lot of newsletters So the moments somebody clicks on one of the links. He goes to the mobile site It's very easy. It can be a reason why you choose mobile websites above a mobile app We're also building a mobile app. That's like a complementary strategy For some specific tasks and interactions. We're really going to narrow down what our site does and we're going to think hard what the mobile user doing what is as essentially his mobile usage But this will be a very niche kind of fun interaction complementary to the website So let's talk mobile and Drupal So the difficult thing in preparing this kind of presentations is there are many faces to mobile and probably people have the different expectations on this presentation too We had this morning already in this room presentation responsive design media queries I hope you attended this session was very interesting and I'm not going to cover that so if you really would expect this You won't see it here. There's a lot of talk about native versus browsers offline applications javascript frameworks Sensor touch the query are very well known cross-platform development using phone gap Accelerator, so I could you could create sessions about each of these topics. So I will try to focus really on On views panels context and some basic Drupal stuff So having all these phases of mobile, of course when you are start building something mobile You need to have a strategy so you cannot just say, okay I'm going to use JavaScript framework and below that or I'm going to want to use iOS you really have to think very well on what you want to build So simply put you can ask yourself a couple of questions Do you need to support many devices? Low-end devices do you want to be able to have people going to your website from a Twitter or from an email? What are the technologies you use? What are your budgets? Do you want something very graphical that swipes and it's? Girls or it's really content-driven like CMS people navigate through lists So yeah, you just have to define some kind of strategy and From there you choose technology again very simply puts if you just want to have this dedicated iPhone app And you want to revenue from these app stores like you create a game you of course think think of iOS and Drupal services Cross-platform if you need that to reach Maybe have a look at frameworks like Accelerator phone gap and of course Drupal services browser based You have different requirements and if you want to have this one site that goes to tablets and Mobile phones you can use responsive and adaptive designs And this can be for example a cheaper solution. It's Could be easier to maintain So first think of these things Once you have like the strategy Drupal comes into play later After you also defined what the product should look like and then there's these typical steps I'm not going to discuss these steps here, but you know that you have to make sure that it's usable that you have to have some special interaction design and You have need dedicated people to think about these things you have to architect like a normal website implement and do some testing and definitely testing for mobile is Need some specific knowledge on Emulators really vice testing the test banks because there's so many devices you can test on So what I'm trying to do here is just talk a little bit more about This this core Drupal components whenever you you build a Drupal site you will Use views you will use context in my case. I often use views of use context. It is a very easy extensions You know to my modules I use I tend to use panels now a lot for mobile it has some nice features and of course teaming layer Can use a lot of overrides Caching is very specific in Drupal and mobile and multi-site can help too so In the Drupal community, we all know Drupal is getting hot a lot of sessions about mobile and Drupal as Drupal con Denver as far as I know will specifically focus also Mainly what you will find within the Drupal a community in the modules are a lot of device detection Modules helping you to detect is it a mobile device? They do it based on different Parameters like user agent strings. It's like the most used one Team switching whenever there's a mobile device Advanced redirection schemes. You always want to direct a mobile user to the mobile site first But you also want to allow the user to go back to the desktop side. So you get the full view. So there's some Stuff there too. There are mobile teams. There's fusion mobile one I can definitely recommend if you Want to start building mobile sites or you can just build from scratch use Zen or adapt your own team And there's a lot of integration with these modules like context panels views that are really Driving a lot of the development They make Drupal easy from time to time Another important distinction you have to make when you start making mobile site is On top. Do you want to make a mobile version of your desktop sites? Expect that this is a lot more complex than just making a mobile only sites making mobile only sites It's more like building a normal site. You just make it nice Nice looking on mobile devices Tablets but the moment you have these views you have these content types You have these templates and a lot of tables or country modules that use tables in a template files You you have to look around you have to override templates. So it's it's more work and Can be a lot sometimes kind of hacky If you have like this all sites that already provides a lot of functionality Sometimes you see sites that use functionality because there's a module for it An example are Spaces and groups where you can have a dashboard where administrators can Dynamically layout their websites once you want to have this mobile. It's really hard Let's not see it impossible with a normal budget so When you have a basic ID You can start architecting architecting your site so an easy architecture when you want to create an application iPhone app or Using JavaScript framework you often end up with this kind of simpler architecture where you use Drupal core and contract modules And you use a services API In this presentation also assume Intermediate levels so that services API is module is a module that helps you exposing functionality of your websites rest services or XML RPC Like a second kind of websites would be for example a medium-sized nonprofits where you Really focus on big reach you want to reach a lot of people However, it doesn't have to be a very mobile specific. You really want to reach a lot of people so that's when you just Where you can try to create normal websites and try to have an adaptive responsive templates where you just serve everything from one team This is very simple And then a more advanced Configuration could be where that for example product company. It's very important for a product company That's when they provide something mobile. It also looks good. It's very user-friendly. So they have to take into account The mobile user a lot. So there's where we typically tend to create two templates That's what we've done on consumer search. That's what I've been implementing with a lot of clients It's trying to reuse One triple database we use core contribute modules, but try to find a way where with mobile templates You can direct the mobile user so this is still very easy to set up and You can manage to have a very good mobile user experience However, since you have to compromise between desktop mobile. There are some trade-offs So it's not a mobile first approach. So it's sometimes usability can Can be can be less good there And then one of the use case we had was bigger hospital There the case was there was a lot of content and they also wanted a lot of mobile specific functionalities So they did not want to one-on-one mapping from mobile desktop to mobile But they really wanted to have two strategies. And that's where you can consider a more advanced triple architecture It's where you say where you use a multi-site approach meaning you use two databases and You let them share some part of the website mainly users mainly contents You can maybe share views or whatever But you try to split out as much as much of the things as possible. So where you basically Provide two websites just share sharing some basic stuff So this is a more advanced configuration in the long term It can help you to stay focused on your mobile and desktop and not have the problem Where you have to force something that you implement in your desktop into your mobile It's a bit harder to set up a maintain So I guess this is a kind of overview What you can do with Drupal in terms of architecture how you can split out things Different devices so When you have these architectures is of course all these modules you can use context panels views Move to streaming layers. Basically. They are yeah, they're your fence enemies depends on what you do And as an example, I want to go through Some of these modules so Just a quick test who uses context modules for their websites Okay, that's still kind of small group. So our context module is a It's a very popular module that allows you to To configure parts of your site depending on certain contexts a very easy and very often used example is that you configure the block layouts based on a path in your URL Meaning that you can for example have a home page and you say on the home page I want to have no blocks in the sidebars and you have user page. You see on the user pages I want to have certain other blocks and on your News page you can have a different configuration can also configure breadcrumbs. So context helps you to really Lay out and configure your site based on context So from how it sounds you can use it to reconfigure sites based on a mobile context or desktop So when when you use a mobile tools There's a plugin for context that can make your life a lot easier So we can say okay. I want to configure certain contexts and based on that context I want to have some specific reactions and to keep it simple a reaction can be if I'm on a mobile home page I don't want to have any blocks if I'm on a user page and I'm accessing on a mobile device I Want to have other blocks or less blocks than if I'm going from a desktop page This is definitely a big help if you want to configure a mobile site So other tips when you use context module for mobile is that you should work with naming conventions For example, if you again configure context for your home page You could name it this context home page and whenever you create a mobile context You just prefix it with mobile you can do the same with user pages You create your normal desktop user context and whenever you want to have a mobile variant on that It's recommended to prefix it with mobile Because there's a kind of simple reason When all your contexts for mobile start with a more prefix you can easily disable your desktop context based on that requirement and The reason we tend to do that is often you start with a desktop site and you have this desktop site with a lot of Contexts and You don't want to be too too intrusive on your existing desktop context You want to reconfigure every desktop context and saying only use this context if it's a mobile If it's not a mobile device today, that's why you can easily create a specific Rule where you say whenever a mobile context is active saying it has this prefix To it don't enable this desktop context For example when you have this rule and mobile tools module falls out or someone disables it It will not disable your desktop context. It will not throw any errors. So it's like a progressive way of Start configuring your so This is one of the ways where you can really start Refiguring really outing your sites without having to code too much too much you can create custom Blocks views blocks that you only enable in this So if you're going that route saying okay, I'm going to use context to reconfigure my my mobile sites There's one big caveat with context. It's whatever you start configuring your context You'll always get and you configure your blocks You only get information of your defaults Drupal team So that means if you have a normal Drupal team with a header or a left right Content computer and you would have a mobile site that says something like a mobile header mobile top content mobile fooder It would be hard to configure this with context So I created a plug-in. I'm going to commit to the mobile tools module. That's just easily whenever You configure a region that has mobile in the prefix to look which is the mobile team It will fetch these regions so you can nicely configure your blog space So that's something just to look out for so a second module We often use these views so often we have the case where this desktop site has a lot of views And these views have certain parts So there's always a question. Okay, we want to create a more mobile friendly friendly view Meaning we want less data on the views. We don't want to table it out, but we really want to keep the path So there's no ready way in Drupal to just say, okay I want to have a mobile variants of a certain view whenever there's a mobile device going to that page Show me a different view So for this Experimented with creating a plug-in to the and that's committed to the mobile tools module But you can just look at its code and maybe use it to your own use and we plugged in into the access Rules of use to what happens with views you can like what you see here is a typical part of a views configuration And the left top you see I created a mobile view and a desktop view and these are two displays of the same view So now when you enable mobile tools and you click access you can choose to say, okay I want to have restrictions based on device You can say of your mobile access settings and then you can also say only mobile or desktop devices can View this display of the view so what happens when views encounters An access to a certain part for example, if I would go to the overview part It will first look at the mobile view display And then it will look at which device is accessing this view and if I would have Configured this only mobile devices can see this view and I go there with the desktop Browser and it'll say okay. There's no access to this view It will just look at the next display available that has the same part To this way you can easily organize your views you just make an alternative display of your existing view You enable this Some kind of problem with few and access settings is that access settings are not chainable Meaning there are different access plugins for views that could be enabled So they it's not easy to make them work nicely together and chain. Okay. I want this view only to be viewable by admins that are on the mobile device Which is already being through a long way and in that thing what you have Third module we often use as panels same question who uses panels on their sides 35% of the room It's a very short basic introduction to panels Probably too short to really honor the module And panel is one of these Very popular and important contract modules created by a role miles And we all benefit a lot of that And it's allowed you to create kind of flexible layouts on your double sides think of Newspapers site where you would say you configure different regions and you assign different content to these regions So you can can really create flexible layouts and one of the very Powerful things that panels also allow you is to override overrides how you display nodes. So typically when you display a note you display Title body whatever fields you have you typically create a template for it So when you use panels you can override Certain type of pages. So here you see when you go to panels You immediately see this kind of block where you say, okay, I want to Overwrite note templates saying I want to reconfigure how somebody sees this note templates And again when you configure that how does notice being displayed panels allows you to create variants so variants Allow you to create rules and each of these rules Kind of trigger rich variant of this panel you see that means you can create a rule that says okay When I have a mobile device accessing the site I want to see the mobile variant of this panel and this mobile variant can contain less data or have a differently out And when you have a desktop user going to the site you can have Panels can be configured that you just use the desktop variants so When you have panels you can reconfigure your notes when you have contacts enabled you can reconfigure everything around your notes And when you have views you can really Overwrite the default few you have so it is kind of three simple plugins. You can go a long way and Mobilizing your desktop sites So there's just an example when you go to a panel and you create a new rule You can really say I want to have a rule based on Mobile browser or not But you can really say I want to have it on a specific user agent so you can even make No layouts based on iPhone androids Or iPads and other devices Whenever you do that, you can just start building your panel like you would do before The short on teaming One of the things we do most is try to get rid of as much CSS in JavaScript. That's being Generated by a lot of the contract modules in my Drupal core It's often a struggle with contract modules So always be aware if you enable contract modules be aware of which output it generates often They're less mobile friendly or they vary in JavaScript focused and Basically the rule is try to create a mobile separate mobile team There's of course a camp is saying okay create adaptive responsive teams You can always combine these mobile teams with adaptive responsiveness However, whenever you create an adaptive responsive team be aware that whenever you change something to your mobile For your mobile user you always prone to make errors to the desktop of you to offer a team So that's kind of caveat when you use this kind of things And there's a lot of things to say about that. They have been covered this morning So another module we have in Drupal is mobile tools, so I've wrote this two years ago A little bit more than two years ago. It's kind of experimental way and what can we do with Drupal? How can we make it easier for developers? So I put a bunch of stuff in there so This is just the big list Can help you doing device detection In Drupal It's has plugins for also where for to do more advanced detection and browse cap. It's also helpful module that detects browsers It can help you with device redirection if you choose to have two URLs it will redirect a request to the mobile URL if needed Thus team switching you can also define groups of devices if you want to have multiple teams for different device groups You can so create mobile user roles Let's say if you have your site heavily depends on user roles could also make variants and Whenever a user accesses site through mobile device it gets a mobile variant of its user role You can force full view mobile if the user wants to get back. You can set some home pages and Hide scroll bars hide address bars and of course Interface with build modes something else we have in Drupal context with panels and actually now also with views So there's a lot of things going on here Use some configuration Examples when you are going to mobile tools. It's very straightforward You can just say okay When do you want to switch teams because yeah, I don't want to switch teams at all You can say I want to switch teams for whatever mobile user accesses sites Or you can also say I want to switch teams purely based on URL. You can select a team and there's some additional Changes that you can make for example, I want to automatically Hide address bar and or you can add specific mobile headers For example, you can set the viewport size Where about viewports by default iPhone has a viewport of actually 960 pixels So that means that an iPhone tries to look at 960 pixels of your site If you have a mobile site that's 320 pixels wide actually you will see a zoomed out version of that site It's very important that you set your viewport width to the device with your device and Another small thing you can do is you can create web clips Somebody can easily put the site to the front page office mobile device You can also configure redirection You can have different kind of schemes You can choose to do m.mobiles and your mobile domain or just your mobile domain or you can just skip as is and You can also You can put exceptions which pages should redirect to a mobile site For example, if you're not ready to mobilize all your Pages you can set exceptions Something else that the module provides is so if you go to the mobile site you want to go back to the full site And you're on mobile device. We need to set a cookie so we force mobile tools to not redirect you again So you can choose how long this cookie exists and There's some useful Developer tools where you can really force using this query parameter to go to So a caching Is a big issue currently when you talk mobile and Drupal The main reason is when you have a high traffic site caching typically happens outside of Drupal Same question who uses varnish for caching who uses Akamai For caching a few who uses core Drupal caching and who doesn't use caching Nobody Want to okay, so the problem often resides in the fact that caching happens outside Drupal That means you cannot use Drupal to do device detection or redirection So first case if you do Drupal caching You're you're lucky that Drupal is still Crawling your boot it means a module can still intercept page requests and do something Doing something can be detected device switch teams or redirect the user So mobile tools Can work with Drupal caching and it has some example codes how you can really interface Deeply with caching using the page cache file spots function This kind of function has been used with all caching by use all caching modules It's a method as being called very early in the bootstrap The second case a lot of high traffic sites tend to use external caching like varnish and Akamai So actually what happens is a page request first goes to Akamai or varnish and then it looks into the cache Is this page already requested or not and if so it's Guess this page out of the cache. So let's say if you're in a Configuration where you say I share one URL for both mobile and desktop And first the user comes from a desktop browser This page get cached next user that visits the sites from a mobile browser will get this desktop page out of cache So you have to be very careful and reconfigure your varnish and Akamai Installation so they can detect the user agent using simple user agent Somebody uses boost for caching so boost is also very powerful Drupal module Boost allows you to create static files From your pages. Let's say somebody visits your website an anonymous user Whenever he visits when your page is rendered this page is being stored as a static file in your cache and Next time a user visits your site within a patchy you can look does a static file already exist And if so serve a static file again the same problem here Drupal never gets to see the requests when the page is being cached so currently I'm building a kind of solution for a Patchy and Drupal to work while it boosts. So if you look for Examples for these scenarios the first scenario I go to the mobile tools module and Read the read me file. There's a big example of how to Hook into the cache and do some extra device detection and change caching keys For varnish, I have an example on my blog. It's too verbose to just put on on site here Typically, it will just detect user agent string. It does some matching on this is an iPhone device I an Android device is this simian device And then redirect or change the caching key and for boost I will post it hopefully in a couple of weeks Is the same mechanism and Apache dot hd access file you're going to do some simple user agent detection So actually this is a real quick flight through some of the core modules you have in Drupal To work with so if you have Context views panels you can create a very flexible dynamic side with it So you can easily reconfigure things to provide a mobile view for that if you need caching Consider these strategies Very well before you start implementing So on a final note some some talk about QA and testing This is kind of general not really Drupal specific So there are three points of testing that you definitely have to consider when I'm building this mobile site first of all Usability testing. This is not really my Domain of expertise, but we all know you have to be you have to create a usable experience experience You have to have quick task completion The difficult part is to test for your targeted devices You can keep it simple and just say I build I build an iPhone website or an Android site. That's actually the route I'm taking more and more Just to make it more easy for myself and just say, okay, we're going to support some of these high-end devices And we're not going to bother about for example, Symbian Anoka s60 operating systems or Opera mini or older blackberries Backberries are always a problem since so many older blackberries are still in use and they typically have very bad support for JavaScript And then there's a performance knowing that speeds can vary from 70 kilobits per second while new 4g Can can deliver peak values to 100 megabits per second. So there's a really a big range of speeds you have there So what I typically tend to do is before every mobile projects try to really know which devices are targets Make sure that there's no surprise at the end for the clients When they come up with some kind of strange device that somebody in the board has so always create a nice list of devices Try to get some properties of these devices screens resolution support for JavaScript CSS Run its corners found replacements media queries. So you're always doing the project. You have a good view on What you're looking at and different projects will have of course different lists So actually this is like a quick flight to mobile Drupal core modules Yeah, I would say I'm ending this early. It's a last session. Are there any questions? You can ask them here or just come up to me after this session or tomorrow Hello, thank you for the presentation I was just wondering you show us the show does the you know that you can change the URL Redirection for mobile and desktop could you have different URLs for devices? I know iPad dot something dot-com Yeah, actually that's Perfectly possible currently in mobile tools has only URLs for mobile and desktop however When you have a high traffic sites you quickly start not you start stop using mobile tools for the redirection next It's kind of straightforward in a varnish and Apache to Create these regular expressions where you say, okay I am now detecting Tablets and I'm redirecting to a different URL and when you use for example multi-site setup You can then react on on this URL So it's it's not possible with mobile tools something you have to do within your own module or maybe Farnish, okay. I have a question here. I see that Many times people approach mobile sites by doing device detection or OS detection I see mobile tools have a mixture of device detection and OS detection And the problem we're facing often is that when new devices come out with different screen sizes You have for instance Android an Android device could be a Like on an iPad size or mobile size So have you worked anything with feature detection instead of device detection? instead of saying We have a separate iPhone Version does this device support this specific feature and then we serve the page depending on the feature Have you worked anything with that? That's a good question. Maybe I should have put a slide on this. There's a big transition of methodology on this part where in the early days There was a lot of effort and and there's still a lot of effort in collecting this big list of devices So you have this word for library and it has thousands of devices and then You try to detect even a patch or in Drupal, okay Which device is accessing it and then you can even and that's mobile tools allows you to do that too You can group devices by saying I Need to have a certain screen size Support for JavaScript and support for these CSS characteristics. Then I put it in group a I can create a group B based on other characteristics, that's like one where you can Go and there are some examples actually also in the word for module for that can create your own module where you create some rules Yeah, and then the new way More and more we try to just support these high-end devices Android iPhone and a lot of feature detection you can now just do with JavaScript For example as a geolocation does it support local local storage so more and more we're going away from this Hardcore user agent detection big databases, but we're going to use media queries responsive designs That's a way of testing using JavaScript detects. What are the capabilities there? So this like the shifts Yeah, the the later part of your answer that I was sort of what I was looking for because Databases as workflow Needs to get updated and so many devices come out so quickly so you can't rely on something like workflow. So Yeah, I was more looking for maybe JavaScript Detection or something like that, but I there are no tools in Drupal today that solves that or Is it Yeah, so so is there any tools that supports And JavaScript detection are they any work done in the Drupal community to support that? Yeah, there is but I cannot recall what his name So I'll put it up, but there are tools and more and more tools and JavaScript frameworks Are there that help you and detecting and it's really It's a new thing and not as big lists More questions Okay, cool. We still have 15 minutes. So if you have questions There's one question You didn't talk much now about using the services module Which I considered oftentimes a more sane option when doing web apps or Drupal mobile What's your opinion? Why do you integrate it as a theme in Drupal? So actually here I talked about views panels context because My goal of the presentation was a lot of people are confronted with this desktop site That's already there and they need to make it mobile and it can get very insane actually because the desktop site has a lot of Viewers a lot of pages, etc. So if Then these are the tools you have however An ideal solution for a developer would be to really separate the data from the front end so If you have the chance and say, okay, I have this Drupal site and this Have all my content there and I want to use a different front end framework I think it's definitely the better solution if you have the time and the support of the whole team And you you don't get a question. We need to mobilize the sites so my take is whenever you you can and try to use services then and Use a separate front end it allows you also more to think mobile first and say, okay, how does my mobile site looks like and then Design it and just start the service. So it definitely I am pro that kind of solution But in some cases and a lot of projects actually a lot of projects still Needs this separate template approach And you know, is there any initiative going on as it is Developing a separate framework for Drupal integrated web apps. Yeah, actually, there are some initiatives Targeted towards the titanium accelerator and iPhone That are very specific to these kind of platforms to provide interaction with Drupal and certain mechanisms I think you should have a look at the mobile group From time to time people post some of it some of their initiatives there, but basically when you talk about accessing your Sites to get content log in users create content You could basically do with what the service module provides provides you a way to create nodes retrieve lists retrieve views So you can go a long way. We just serve this module And try to use the rest server for example, it works fine with the JavaScript frameworks So I would just say the tools that are there now are very adequate to help you build there's a question in the content area It's mobile mobile tools becoming the sort of standard. Do you think I'm playing devil's advocate here? I'm not that familiar with Try to set up a mobile site a while back and I realized there were a few different alternatives Is mobile tools becoming the kind of standard way that Drupal will address this problem? Or are there other tools around that? Reasonable good answers for the same problem. No, it will not be it become the standard way I Think it's too early to see standard way emerging Even in general in mobile development see mobile tools as Tool kits to to to help you build this mobile site Which a standard way would be adaptive and responsive designs Consumer search work for did not use mobile tools. It just took out some of the aspects It really depends on that strategy and that's why actually I put a lot of focus in these first slides on I think very well what you need because there's so many options you have and like the last question maybe a standard way would be to Just have Drupal as a CMS. It's a kind of back-end facing platform where editors or content creators created content and you expose it through a service and I guess so I more and more front-end framework to also appear that allow you to communicate with this Drupal back-end It's it's too early and definitely not to me just I for me to say what's becoming standards This has been around for two years it's it helps But we definitely have to explore more things and being Drupal as a content store is definitely a route That should be discussed more And that's more for the for the future Yeah Can publish the count real the content like such as upload our image or the audio files through the mobile The question is what do you do with media and adaptation of audio video and images? for video we try to rely on providers of Media storage and streaming Most providers have some detection and stream the right media to you for images I have worked most with image cache and Trying in my templates to use certain presets of image cache So that's a way to go. There's also a module called display suit sweet And that's a motion and the session was at the same time as this session And it's actually a module that allows you to be very flexible with build modes and actually build modes It's a very core functionality of Drupal that whenever you for example view a node It's it helps to define which four matters you want to use to display an image or some text and This pursuit also allows you to to plug into mobile tools So where you can say, okay, I want to have different four matters For mobile devices, for example, I want to have an image cache smaller presets for certain mobile device And that's only experiment I experimented with this in Drupal 6 if you use Drupal 6 mobile tools in this space suit You can actually can use but different build modes But that's really specific for where you have structured contents where you have like an image type in your New content type then you can define. Okay. I want to have a mobile build mode I'm not including this in the presentation because it does not work for Drupal 7 So I wanted to not advocate something that's not really proven But if you want to test with us, I would say look at image cache. Actually, there are also services like tiny dot src Tiny source and that's also a part of actually the Titanium accelerator Consortium so if you look up that time titanium accelerator and tiny source, that's a service where you can That's transculture image on the fly depending on which device is accessing it So that's a second solution look for this kind of transcurtors and tiny Source is one of the the one I can think of Hi, hi, I was wondering how the D7 version on mobile tolls is coming along How is it D7 version coming along? There's a D7 version It's functional At this point, I don't have any plans to add more things to the Drupal 7 version What is some bug fixes and I'm definitely looking for co-maintenors? maybe Yeah, maybe that's a solicitation to to co-maintain Yeah, it's actually the status of mobile tools is Currently I'm doing bug fixes To mobile tools and I'm lacking a little bit of time to really add new functionality new features The last thing I added was a views integration two months ago So at this point I could use help of people to submit patches and Even think of some new ID some new implementations we can do But it can even go as a radical as saying, okay, maybe we should split out mobile tools and more Atomic chunks of code because there's so many things in there already I'm reluctant to put a lot of new things into it so feel free to contact me or Talk to me later and maybe have some ideas or if you have an issue that you want to see solved More questions. I think we have four minutes left If no one has a question is I'd like to ask one How do you use build modes with mobile tools so that you can easily distinguish? Is there a way to specify when using mobile tools use this build mode? Yeah, actually in Drupal 6 if you go to To Let's Yeah, I'm not going to do the demo, but when you go to Content types and you go to your specific content type You can always manage fields. It's one of the options and also display and when you go to display you can See by default you have build modes for search Then you can say which fields should go into search and how this would go into search You have one for RSS and then you have Thank you one for teaser and full note and in Drupal 6. There's an extra tab there saying Mobile and then mobile tools configuration page you can really you have to enable it first. So if you do it Drupal 6 6 and Mobile tools this extra extra build mode But I is not working for Drupal 7 and Actually, I haven't found a way to make this work because I used build modes a little bit Hackage to make it make it work and Drupal 7 has a different philosophy on that But maybe different ways of handling this Right. Thank you for listening and hope you enjoy building mobile sites