How to show your idea with web

Arvin Huang

  • NTOU CS, BS

  • NCKU CS, MS

  • Oath, Yahoo! Taiwan, F2E

  • Yahoo TV/Esports

  • Techbridge newsletter/blog

More than 1,000 employees

Oath APAC Dominator

Multinational software corporation in Taiwan

Yahoo Homepage

Yahoo News

Yahoo Sports

Yahoo Esports

Yahoo TV/Live

Y! Auction/Mall/Shop

Yahoo App/Mweb

Yahoo Open Source

  • React-i13n

  • React-Intl (i18n)

  • Fluxible

  • Atomic CSS

  • AppDevKit

  • YangMingShan

  • TensorFlowOnSpark

  • ...

Slash

https://bit.ly/2BXCMFz

You can have a slash career easily

Web Apps

Mobile Apps

Desktop Apps

React + Redux

Web VR

IoT

Blockchain/ML

Img source: https://bit.ly/2H1Ey7Y

What's the power of web?

A better/easier way to show ideas

Easy to access

Not much burden

Spreading Fast

No app store, just browser.

One link, one click.

Never eat up the storage.

Easy to learn

Gradual learning curve.

But...there are tons of web tools and directions

What to do?

How to do?

Let me help you with that

UX

Content

Productivity

Trending

User experience

UX

Content

Productivity

Trending

PWA

(Progressive Web App)

AMP

(Accelerated Mobile Pages)

Progressive Web App

What PWA want to do?

  • Add to Home Screen
  • App-like
  • Offline support
  • Push notification
  • Splash Screen

Why we need PWA?

  • Provide user a better experience on the web.
  • Fast install.
  • Reduce storage required
  • More rapid updates.
  • More users will come.
  • It's a Win-win game.

Service Worker

  • Javascript worker - can't manipulate DOM directly
  • Intercept network request
  • Promise
  • IndexDB, Cache Storage

check your current service-worker:  chrome://serviceworker-internals

Browser support...

2017/05

2018/03

  • Instant access to Twitter

  • Fast to install, space- and data-friendly

  • One-tap access from your home screen

  • Push Notifications

  • Offline access

  • Safe browsing

  • 20% decrease in bounce rate

  • Loads in under 3 seconds for repeat visits even on slow networks

Results

  • Page loading time from 11.91s -> 4.69s
  • 90% smaller than native Android app

Results

  • Increased engagement led to a 97% increase in clickouts to hotel offers.

  • Users who go offline while browsing can continue to access the site and 67% continue to browse the site when they come back online.

PWA resources

create-react-app (built-in support)

Accelerated Mobile Pages

What AMP want to do?

Improve user engagement with fast, compelling experiences.

What's AMP

non-AMP

AMP

slow 3G

  • Cached by Google
    • https://www.google.com/amp/s/tw.esports.yahoo.com/amphtml/karsa-首個-lpl-冠軍!rng-讓一追三逆轉勝-edg-114940207.html

  • All AMP js run asynchronously
  • Can't run 3rd party javascript
  • CSS inline & size-bound (50kb)

Normal site

AMP site

What AMP looks like


<ul id="amplist">
</ul>

<script>
var ampcomponent = new Array();
ampcomponent[0] = "amp-carousel";
ampcomponent[1] = "amp-img";
ampcomponent[2] = "amp-ad";
ampcomponent[3] = "amp-accordion";
$(document).ready(function(){
    var list = "";
    for(i=0; i<ampcomponent.length; i++){
        list +="<li>"+ampcomponent[i]+"</li>";
    }
    $("#amplist").append(list);
});
</script>
<amp-list width="auto"
  height="100"
  layout="fixed-height"
  src="https://ampexample.com/test.json"
  class="m1">
  <template type="amp-mustache"
    id="amp-template-id">
    <div>
      <a href="{{url}}">{{title}}</a>
    </div>
  </template>
</amp-list>

result:

Combine with lots of web components

AMP project

Case study: WIRED

Case study: Washington Post

Case study: Yahoo TW Auction

AMP stories

AMP stories

AMP resources

Better content for user

UX

Content

Productivity

Trending

Data collection

Data visualization

Pure CSS Image

Data collection

Open Data

Open Data

Get your own data

Get your own data

Get your own data

by your own parser

Manipulate DOM

Headless Browsing

Headless Chrome

Get your own data

API service

Get your own data

API service

Data visualization

Why Data Visualization is important?

It's all about insight

Why Data Visualization is important?

And it's appealing

Google Data Studio

Tableau

Vega-Lite

Plotly

Recharts

Vitory

HighCharts

D3.js

another project by the same author:

Observable

D3-based reusable chart library

NVD3.js

C3.js

D4.js

There are more...

It seems all about "chart"...

How to build a story like this?

Parallax Scrolling

scrollorama.js

skrollr.js

parallax.js

W3C

React

Story Maps

Example: 媒礦

Example: 颱風動態圖

Example: unfiltered.news

Could also be used for teaching

Could also be used for teaching

Or, just subscribe Techbridge Weekly

Some website you can follow

Pure CSS Image

Manipulating CSS is like...

No, CSS is awesome

You can draw everything you want with pure CSS.

Why would I do that?

  • Have a better control of CSS layout and style.
  • Training your ability to deconstruct modules.
  • Increase the ability of problem-solving.

Few tips

Template, Pre-processor

(Pug, SCSS, autoprefix)

// prefix
a {
    -webkit-border-radius: 5px;
            border-radius: 5px;
}

Few tips

Arrowplease & border

.shirt {
    border-bottom-right-radius: 100%;
    border-right: 3px solid #666;
    top: 25px;
    left: 0;
    position: absolute;
    background-color: white;
    width: 10px;
    height: 40px;
}

Few tips

Stacking combination & Pseudo-elements (::before, ::after)

Few tips

clip-path

Few tips

box-shadow & background-image

Few tips

Resources & Idea

CodePen

Dribbble

Coolors

More details: CSS 繪畫小技巧

Final Demo - mario-kart-css

Much of the stress that people feel doesn’t come from having too much to do. It comes from not finishing what they’ve started - David Allen

UX

Content

Productivity

Trending

Devtool extension

Editor extension

GTD-Getting Thins Done

Devtool Extension

Optimize your flow

Optimize your flow

Concept is easy

Devtool extension resources

Editor Extension

VSCode Extension

Flying Pig Theory

UX

Content

Productivity

Trending

Machine Learning

Deep Learning

Blockchain

Self-driving cars in the browser

ML/DL in js resources

Blockchain

Why Blockchain is good

Ethereum

Mobile OS

Mobile APP

BlockChain

DAPP

img srouce: https://bit.ly/2FoowDE

readmore: ​白話解釋區塊鏈 (上)(下)

How to start a Dapp on ethereum

Recap

UX

Content

Productivity

Trending

PWA

AMP

Chrome/Editor extension

ML/DL

BlockChain

Data visualization

Data collection

Pure CSS Image

Thank you

How to show your story with web tools

By arvinh

How to show your story with web tools

  • 622