All Projects → lekshmiraveendranath → Spotlight

lekshmiraveendranath / Spotlight

Licence: MIT license
Introductory walkthrough framework for iOS Apps

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to Spotlight

Flutter showcaseview
Flutter plugin that allows you to showcase your features on iOS and Android. 👌🔝🎉
Stars: ✭ 502 (+1015.56%)
Mutual labels:  spotlight, highlight
Reactour
Tourist Guide into your React Components
Stars: ✭ 2,782 (+6082.22%)
Mutual labels:  walkthrough, introduction
Multilamp
Android library to showcase/highlight the multiple views on same overlay
Stars: ✭ 233 (+417.78%)
Mutual labels:  spotlight, highlight
MultiLamp
Android library to showcase/highlight the multiple views on same overlay
Stars: ✭ 235 (+422.22%)
Mutual labels:  spotlight, highlight
Leader Line
Draw a leader line in your web page.
Stars: ✭ 1,872 (+4060%)
Mutual labels:  spotlight, highlight
Driver.js
A light-weight, no-dependency, vanilla JavaScript engine to drive the user's focus across the page
Stars: ✭ 13,154 (+29131.11%)
Mutual labels:  spotlight, walkthrough
ng-walkthrough
A walkthrough for Angular
Stars: ✭ 21 (-53.33%)
Mutual labels:  highlight, walkthrough
go-highlight
A Go (Golang) code syntax highlighting library.
Stars: ✭ 20 (-55.56%)
Mutual labels:  highlight
zazu
🚀 A fully extensible and open source launcher for hackers, creators and dabblers.
Stars: ✭ 2,078 (+4517.78%)
Mutual labels:  spotlight
GOVINDDIXIT
GitHub Readme template to create your awesome introduction Readme on GitHub 🚀
Stars: ✭ 18 (-60%)
Mutual labels:  introduction
codeblock-beautifier
💅 A chrome extension for highlighting codes of Medium Articles
Stars: ✭ 118 (+162.22%)
Mutual labels:  highlight
Android-Onboarder
Android Onboarder is a simple and lightweight library that helps you to create cool and beautiful introduction screens for your apps without writing dozens of lines of code.
Stars: ✭ 85 (+88.89%)
Mutual labels:  introduction
vim-high
Vim plugin: All-in-one highlighter, highlight custom pattern like indentation, inactive window, word under the cursor
Stars: ✭ 20 (-55.56%)
Mutual labels:  highlight
sol
MacOS launcher & command palette
Stars: ✭ 1,335 (+2866.67%)
Mutual labels:  spotlight
contentful-wizard
Add walkthrough of contentful blocks to your application
Stars: ✭ 33 (-26.67%)
Mutual labels:  walkthrough
QuickWebKit
A great & strong plugin based WebViewController. 一款基于插件的 WebView 视图控制器,您可以基于它设计您的浏览器插件,然后像积木一样来组装它们。
Stars: ✭ 29 (-35.56%)
Mutual labels:  spotlight
pdf-annotation-service
Client and service for embedding highlights into PDF documents
Stars: ✭ 32 (-28.89%)
Mutual labels:  highlight
xray
Hexrays decompiler plugin that colorizes and filters the decompiler's output based on regular expressions
Stars: ✭ 97 (+115.56%)
Mutual labels:  highlight
nim.nvim
Nim plugin for NeoVim
Stars: ✭ 159 (+253.33%)
Mutual labels:  highlight
GuideChimp
Create interactive guided product tours in minutes with the most non-technical friendly, lightweight and extendable library.
Stars: ✭ 138 (+206.67%)
Mutual labels:  walkthrough

Spotlight

Introductory walkthrough framework for iOS Apps (inspired by Gecco, Rewrite to make it simpler)

You built your app, added many features and are now ready to showcase it to the world. But what if consumers are having some difficulty navigating/using the app, or understanding some features? At some point release notes won't cut it. Screenshots of the app with arrows and info might help, but what would really help is to highlight individual parts of the app and give them a little context. Without taking much of their time. Now that's where Spotlight shines. You worry about building that fancy new feature, and let Spotlight handle the user education part. Decide at run time what to highlight, without compromising design and version testing capability. Checkout details on how to integrate Spotlight and never skip user education because it is hard not hard.

Demo

Usage

Setting up Spotlight is really simple and takes only a few lines of code. There are convenience initializers for views and bar buttons and more choices.

import LRSpotlight // Cocoapods
OR
import Spotlight // Carthage

class ViewController: UIViewController {

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        startIntro()
    }

    func startIntro() {
        let nodes = [SpotlightNode(text: "Show Spotlight on a Bar button item", target: .barButton(navigationItem.rightBarButtonItem)),
                     SpotlightNode(text: "Show Spotlight on a View", target: .view(nameLabel)),
                     SpotlightNode(text: "Show Spotlight at a point location", target: .point(CGPoint(x: 100, y: 100), radius: 50)),
                     SpotlightNode(text: "Show Spotlight on the first tab bar item", target: .tabBarItem(tabBarController, 0)),
                     SpotlightNode(text: "Show Spotlight over a rectangle", target: .rect(redView.bounds))]

            Spotlight().startIntro(from: self, withNodes: nodes)
    }
}

Adopt SpotlightDelegate protocol to get a callback when each node is displayed and when spotlight goes offscreen.

public protocol SpotlightDelegate: class {
    func didAdvance(to: Int, of total: Int)
    func didDismiss()
}

Installation

CocoaPods

pod 'LRSpotlight'

Carthage

github "lekshmiraveendranath/Spotlight"

Configurations

// Delay between spotlights (defaults to 3 seconds)
Spotlight.delay = 5.0
// Animation duration for spotlight appearance (Defaults to 0.25 seconds)
Spotlight.animationDuration = 0.1
// Alpha of the Spotlight overlay (defaults to 0.6)
Spotlight.alpha = 0.8
// Background color of the Spotlight view (defaults to black)
Spotlight.backgroundColor = .grey
// Text color inside the info view (defaults to white)
Spotlight.textColor = .green
// Font used inside the info view (defaults to Futura 18pt)
Spotlight.font = UIFont(name: "Lato", size: 18)!
// Display a background for the info text view (defaults to true)
Spotlight.showInfoBackground = true
// The info overlay has a blur effect to make it stand out and be readable across the board (defaults to light)
Spotlight.infoBackgroundEffect = .dark
// Change back and next button titles
Spotlight.backButtonTitle = "atrás"
Spotlight.nextButtonTitle = "siguiente"

Features

  • Easy to integrate, just few lines of code
  • Code based Spotlights, no need for an additional storyboard scene per screen for laying out text
  • Timer based automatic forwarding (configurable)
  • Convenience initializers for views, bar buttons, tab bar items, plus spotlights using points or rects
  • Compatible with UI Version testing, since Spotlights are displayed over UI elements at runtime
  • Swift 4.2
  • Sensible defaults, configurable
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].