{"id":5004,"date":"2013-04-23T04:55:01","date_gmt":"2013-04-23T11:55:01","guid":{"rendered":"http:\/\/localhost\/exoblog\/?p=5004"},"modified":"2023-06-05T16:36:55","modified_gmt":"2023-06-05T14:36:55","slug":"exo-platform-4-history-of-our-platform-designs","status":"publish","type":"post","link":"https:\/\/www.exoplatform.com\/blog\/exo-platform-4-history-of-our-platform-designs\/","title":{"rendered":"eXo Platform 4: History of our Platform Designs"},"content":{"rendered":"<p>When people ask me if I&#8217;m satisfied about what I&#8217;ve done, my answer is usually: &#8220;There&#8217;s still room to improve this and that, I don&#8217;t like this, I want to do this next, this could be better, and so on.&#8221;<\/p>\n<p>I&#8217;m the &#8220;never satisfied&#8221; type of guy. Thus, working for eXo Platform fits me well, because as soon as we release a new version, we&#8217;re already working on the next one and thinking about new challenges (stay hungry, stay foolish, we could say).<\/p>\n<p>That said, I can also appreciate great accomplishments. And today, I want to talk about one in particular: the overall design of eXo Platform 4. That may sound partisan coming from an eXo employee, but keep in mind I wasn&#8217;t involved in the design process\u2014we have a Brand &amp; Design team for that. So the first time I saw Photoshop mockups of what would become Platform 4, I was very excited but I also wondered how this would be rendered in dynamic applications.<\/p>\n<p><!--more--><\/p>\n<p>Now that Platform 4 is out, I can say: &#8220;Damn, they really did a tremendous job!&#8221;<\/p>\n<p>It&#8217;s not every day that you can say this; you need to appreciate these moments, because not only does it look even better than the mockups, but more than that, it&#8217;s using a lot of modern CSS3 tricks. At the end, there&#8217;s a minimal use of images, and it&#8217;s even perfect on a retina display.<\/p>\n<p>No matter where you look at it, it just looks gorgeous: from the buttons up to the inline popups. And with all this, the Web Design team even managed to have a skin for the old Internet Explorer 8. No gradients or shadows, of course, as it doesn&#8217;t support these styles, but still, the Intranet looks fine.<\/p>\n<h2>Old Design<\/h2>\n<p>If you go back to the eXo Platform 3 design and take a look at my comments on Jira, you can easily see how I just hated it. The blue and yellow skin was too shiny; there was no inspiration. I wanted to change it immediately.<\/p>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-3-design.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-5031\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-3-design.png\" alt=\"eXo-Platform-3-design\" width=\"650\" \/><\/a><\/p>\n<p>Then, we released eXo Platform 3.5, and that was a huge step forward\u2014I could look at it at least. At the end, the rendering was better but still sad. And not enough work was done on contrast and colors, making it difficult to read.<\/p>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-5032\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design.png\" alt=\"eXo-Platform-35-design\" width=\"650\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design.png 1224w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design-300x193.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design-1024x660.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design-768x495.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design-720x464.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design-500x322.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design-360x232.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design-200x129.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design-100x64.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-35-design-47x30.png 47w\" sizes=\"(max-width: 1224px) 100vw, 1224px\" \/><\/a><\/p>\n<h2>New Design<\/h2>\n<p>Now, if we take a look at the new design, not only don&#8217;t you want to go back, but you want your applications to look like this. And I&#8217;m writing for partners here: you can use the overall design from Platform 4 in your applications. I actually did it for the chat add-on I&#8217;m working on, and I will explain how this can be done in minutes.<\/p>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-5033\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design.png\" alt=\"eXo-Platform-4-design\" width=\"650\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design.png 1344w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design-300x180.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design-1024x614.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design-768x461.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design-1250x750.png 1250w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design-720x432.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design-500x300.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design-360x216.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design-200x120.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design-100x60.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/eXo-Platform-4-design-50x30.png 50w\" sizes=\"(max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<h2>One hour to switch, really?<\/h2>\n<p>So, if I take the example of the Chat app I developed, how can we switch from this:<\/p>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-old-design.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-5034\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-old-design.png\" alt=\"chat-old-design\" width=\"569\" height=\"680\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-old-design.png 569w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-old-design-251x300.png 251w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-old-design-396x473.png 396w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-old-design-274x328.png 274w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-old-design-197x236.png 197w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-old-design-110x131.png 110w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-old-design-75x90.png 75w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-old-design-25x30.png 25w\" sizes=\"(max-width: 569px) 100vw, 569px\" \/><\/a><\/p>\n<p>To this:<\/p>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-5035\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design.png\" alt=\"chat-new-design\" width=\"650\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design.png 1097w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design-300x209.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design-1024x714.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design-768x536.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design-678x473.png 678w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design-470x328.png 470w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design-338x236.png 338w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design-188x131.png 188w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design-100x70.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-new-design-43x30.png 43w\" sizes=\"(max-width: 1097px) 100vw, 1097px\" \/><\/a><\/p>\n<p>Actually, it&#8217;s very easy. It&#8217;s just about getting the right UI container. I just modified the html code and maybe a couple specific styles just to make it perfect. The new html code look like this:<\/p>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-5036\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code.png\" alt=\"code\" width=\"650\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code.png 1066w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code-300x135.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code-1024x459.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code-768x344.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code-720x323.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code-500x224.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code-360x161.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code-200x90.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code-100x45.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/code-67x30.png 67w\" sizes=\"(max-width: 1066px) 100vw, 1066px\" \/><\/a><\/p>\n<p>The important CSS classes are :<\/p>\n<ul>\n<li><span class=\"navCode\">uiGrayLightBox<\/span>: this is the Header one, used in my toolbar<\/li>\n<li><span class=\"navCode\">uiLeftContainerArea<\/span>: I use it for the left panel with list of users\/spaces<\/li>\n<li><span class=\"navCode\">uiRightContainerArea<\/span>: I use it for the right panel with messages<\/li>\n<li><span class=\"navCode\">uiBox<\/span>: it&#8217;s the default container in Platform 4 (used inside left and right containers)<\/li>\n<li><span class=\"navCode\">activityAvatar avatarCircle<\/span>: This is a neat one, I use it to show the avatar in a beautiful circle way.<\/li>\n<li><span class=\"navCode\">#4f72ac<\/span>: The official Platform 4 Blue color<\/li>\n<\/ul>\n<p>Now, If you put that in context, it gives:<\/p>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-design-details.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-5037\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-design-details.png\" alt=\"chat-design-details\" width=\"650\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-design-details.png 846w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-design-details-300x255.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-design-details-768x652.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-design-details-557x473.png 557w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-design-details-386x328.png 386w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-design-details-278x236.png 278w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-design-details-154x131.png 154w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-design-details-100x85.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/04\/chat-design-details-35x30.png 35w\" sizes=\"(max-width: 846px) 100vw, 846px\" \/><\/a><\/p>\n<p>In my case, it was just a question of replacing some specific <span class=\"navCode\">div<\/span> classes by the ones used in Platform 4, not a big deal. You can find the entire diff here on github: <a href=\"https:\/\/github.com\/benjp\/chat\/commit\/1b429c04bd3c1b0074d7eb89748ae6348ea40ba3\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/benjp\/chat\/commit\/1b429c04bd3c1b0074d7eb89748ae6348ea40ba3<\/a><\/p>\n<p>In this commit, you will find other edits related mostly to the switch to a new version of JuzuWeb but that&#8217;s off topic for today.<\/p>\n<h2>What\u2019s Next?<\/h2>\n<p>The Design team has produced a real brand, simple and recognizable\u2014one you can use&#8230; and one you want to use.<\/p>\n<p>I can assure you, they are tired (very tired). It was a huge amount of work, more than we&#8217;ve ever done before, that impacted all teams (Design, Web Design, Cross Product team, All Engineering teams, Marketing, Product). I hope you like it as much as I love it.<\/p>\n<p>\u00ab Thanks for watching and stay tuned\u2014more things are coming, Benjamin \u00bb<\/p>\n","protected":false},"excerpt":{"rendered":"When people ask me if I&#8217;m satisfied about what I&#8217;ve done, my answer is usually: &#8220;There&#8217;s still room to improve this and that, I don&#8217;t like this, I want to do this next, this could be better, and so on.&#8221; I&#8217;m the &#8220;never satisfied&#8221; type of guy. Thus, working for eXo Platform fits me well, [&hellip;]","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[699],"tags":[],"lang":"en","translations":{"en":5004},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts\/5004"}],"collection":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/comments?post=5004"}],"version-history":[{"count":0,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts\/5004\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/media?parent=5004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/categories?post=5004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/tags?post=5004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}