Tuesday, June 18, 2024
HomeHotstarHotstar X: Let’s discuss {widgets}!. Half 2 of the Hotstar X journey…...

Hotstar X: Let’s discuss {widgets}!. Half 2 of the Hotstar X journey… | by Harsh Mittal


We then laid out guidelines on how every of those conceptual fashions can be understood and exchanged between consumer and server. Basically, the server must vend out a web page response that talks when it comes to these entities in order that the consumer can then render them.

  1. Web page Structure Kind : Each web page can have an related format sort that could be a detailed spec with particulars like:
  • What areas seem on the web page and the place (by platform)
  • Limits like min/max widgets that may be accommodated in every area
  • How will the format differ in case of portrait/panorama mode on cellular shoppers

2. House Kind: A set of enums to signify numerous varieties of “slots” {that a} web page format might comprise. The affiliation of what web page format accommodates helps what areas is thought on the server and consumer aspect.

3. Widget Kind/Widget Template: The widget template spec defines:

  • The UI/UX of the widget
  • The schema of the info returned by the server for widgets of this template
  • Particulars of what fields returned by the server must be knowledge sure to what parts of the widget
  • Recursive hyperlinks to specs of templates of every doable nested widget that this widget might comprise.
  • All doable interactions with the widget, together with animations, and so on.

Every widget sort can have a completely different UI primarily based on the platform, owing to type issue variations, or platform interplay fashions. However the UI, UX of the widget is anticipated to serve the similar goal on all platforms.

Moreover, which widget templates are appropriate with what space-type is thought on the server aspect forward of time.

These identified varieties and sort associations then enable the server to present a web page response that accommodates all of the required knowledge and metadata for the consumer to compose a web page out of its areas, whereby the areas compose themselves from their constituent widgets and so forth.

The widget object together with the widget template sort accommodates three essential items of data that enables a widget to actually come to life:

  1. Widget knowledge: That is the info that the consumer makes use of to color the widget. Be aware {that a} widget could also be rendered utilizing completely different templates on completely different units (e.g. when searching content material trays, internet platforms will present an expanded picture with content material particulars in hover state whereas app will solely present poster photos with minimal content material knowledge). Relying on the chosen template, the widget knowledge mannequin might differ accordingly.

2. Widget Actions: A widget that simply renders and exhibits one thing is sweet, however interactivity sparks life into it. That is the place actions are available. Actions are predefined and effectively understood interactions {that a} widget helps and reacts to. What to do on a selected motion will be communicated by the server utilizing some identified varieties. Listed here are some commonplace motion varieties that we help as of as we speak:

  1. Navigation
  2. Animations
  3. Customary Macros like logout, Add to Watchlist

3. Widget Analytics: In an effort to measure the efficiency, engagement and effectiveness of our experiences, we carry out tonnes of instrumentation at web page, area and widget ranges and acquire a bunch of fascinating knowledge from consumer aspect experiences. That is the third crucial bit of information within the widget response (extra on this in a separate weblog).

Placing all of it collectively, right here’s how a pattern web page response from the server would seem like

Alright, so a fast recap on what we’ve learnt up to now in regards to the Hotstar X structure:

  1. We adopted a widget primarily based structure and outlined tenets to drive the framework.
  2. We recognized key parts, their boundaries and properties together with what facets can be identified to the server vs. the consumer.
  3. For a widget, we recognized and outlined the three crucial property units that enable us to ship out a whole widget knowledge mannequin from the server.
  4. We wrapped up with a pattern finish to finish web page response knowledge mannequin that may very well be understood and rendered by the consumer.

As soon as this was executed, we have been in a position to kickstart the event on the consumer and server aspect. Within the subsequent article, we are going to deep dive into our server aspect structure and the way we went about constructing our flavour of a Backend For Frontend (BFF) structure.

Wish to code with the authors of this weblog? Write your individual? Work on mind-melting, robust engineering issues? We’re all the time hiring! Take a look at openings at https://careers.hotstar.com/.




Please enter your comment!
Please enter your name here

Most Popular

Recent Comments