Git Product home page Git Product logo

artx's Introduction

Clearbold, LLC

artx's People

Contributors

heymarkreeves avatar jamiefolsom avatar sherrialexander avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

artx's Issues

Onboarding & signup screen

Hi, Sherri!

This is breaking the rules of an assigned issue, but I figured this would be a good place to capture discussion on the signup & onboarding process that we could share with the team.

In terms of presenting the sign-up/onboarding option in our template list, I'd like to present a distinct version of the home screen that has the overlay enabled. This can either be a complete copy of the home screen (maybe using Jekyll includes to avoid duplication of code), or it can be something like home.html?signup=yes and you can parse that in JavaScript.

In the real app, this will be handled by a cookie and application logic.

I like their idea of the modal interstitial for signup. It should include:

  1. Some brief copy
  2. An email field
  3. A password field
  4. A confirm password field
  5. A submit button
  6. An "Already have an account? Sign in" link

I think the sign in link should leave the modal and go to a full page with sign-in fields. That page should also be linked to in the nav. If the user is logged in, that link should become a log out link.

The sign in screen should have a link to trigger the sign up modal as well, if you navigated there and found you didn't have an account.

There should be a X at the top right of the modal. If I choose to not sign up or sign in, and close it, I should see the home screen, with top events. "My favorites" should be empty of thumbnails and there should be text there about how you can add your favorites. There should be sign up or sign in text there with links.

If you submit the sign up process from the modal, I think it should fully navigate in the parent window to the form processing page (app logic) and that should redirect back to the home screen with the cookie set that says you're logged in.

In that state, "My favorites" would still be empty, but the content would change. It would (briefly) explain how you benefit from adding things to your favorites.

In-between submission of the form and redirection to the home screen is where we're supposed to intercept the user and encourage them to add tags. I think we should hold that for a conversation. I think that could just be a full screen with some copy at the top and a "Continue to my home screen link," but let's get some more pieces in place before we tackle that flow.

So, for a start, we'll need:

  1. The homepage with the modal triggered
  2. 2 different states of "My favorites" copy
  3. A sign-in screen in the app screens
  4. Sign in / Log out in the nav
  5. Examples of inline error handling in the modal, assuming that there will be JS/AJAX logic to validate password requirements and check if an email address is already in the database

Let me know what you think--We can discuss in comments here or in Slack.

Thanks!

Mark

Icon treatments

Hi, Sherri!

I was thinking about our Thursday conversation about the + icon on the My Favorites bar. Kurt wondered about the need for an icon and we discussed its relevance.

I think we should move toward a super-consistent treatment where in-screen behavior have circle-based icons, and navigation links that have icons do not have circles. Following this logic:

  • The tag and nav icons at the top are both circle icons
  • An arrow icon for "My Favorites" does not have a circle around it, because it's reinforcing a link
  • The star icon, next to each event name, has a circle around its off/on states, because it's available as a function in the screen

That should also help reinforce the idea that star icons are tappable to add them to favorites.

Mark

YAML Dump Details

Mark,

I refactored this code over the weekend. A few issues I'm still working on:

Caching - implemented python requests-cache library. It's creating an sqlite cache, though I don't know if it's requesting from there first. Need to look into it a little more. Also for the 10 second refresh - how will this script be run?

Date Format - for pulling the date out of the "dates" field and formatting as MM-DD-YYYY for the head of the filename. Most, if not all, of the events look like exhibitions with a date range. The format of the date range field varies from "MAR5-OCT8" to "on view March 5, 2014 to October 8, 2014." Still trying to figure out how to catch every case and assuming a regex is the way to go. Let me know if you have suggestions.

YAML fomat - I'm using the pyyaml library, and the output contains different formatting and more markup than the Karen Clark posts. Does this matter to Jeckyll? Or would it make more sense to construct the posts by hand?

Displaying the signup modal based on auth token

Hi, Sherri!

Giving this some thought, I think the Sign Up modal has to display any time the auth token cookie is absent, not based on a cookie tracking whether the user has seen it already.

To keep in mind here is that they don't want this to be a "what's coming up" app that people go to just to find events. They want to focus on relevancy, which means you really need to be a logged-in user with history & interests. We need to get anyone who visits the URL to sign up.

Thanks!

Mark

Deployment

Hi @circa1977,

Opening an issue to discuss deployment. Questions include:

  • Is github pages a viable option?
  • If so, is there any additional config (Gemfile, github-pages gem, etc) that we'll need?
  • If not, what would make more sense?

No great rush on this from my perspective, but @desigonz may feel otherwise (she's requested that we set up that domain).

Thanks!

Jamie

iOS Chrome bug

Bug when using Chrome on iOS: events, venues, etc. revert to event/venue with the lowest ID number. Liam noticed that there is a # in the URL that seems to be causing this problem. For example, we open Artbot and see the exhibition Fruits of Our Labors (eventID=56) on the Discover page; but when we click on it, artbotapp.com takes us to the page for Turner and the Sea (eventID=1) and shows the URL for the Fruits of Our Labors exhibition with a hash in it: http://artbotapp.com/#/event.html?eventid=56.

This only happens in Chrome on iOS. We can discuss during tomorrow's meeting.

Standalone app + links

Hi, Sherri!

I've added the site to my iPhone's home screen. If I click the ArtsConnect title to return to the template list from the "app," it opens that link in Safari. Similarly, if I add the Template List to my home screen, and tap the "Home screen" link, it opens that in Safari instead of the app view. That's not how ESPN behaved -- Can you take a look?

Thanks!

Mark

Determine the best way to get RESTful status codes from the Rails app

In the HyperStudio issues, hyperstudio/artbot-api#47, hyperstudio/artbot-api#48, we've gone back and forth a bit on using status codes vs. response payloads. Jamie has offered to return JSON-encoded responses, but we aren't sure that the validator we're using can parse those, or if it needs just a simple true string in the body of the response.

Can we vet what the validator can work so we can give Jamie direction? If it turns out that we need to code a custom validation function to parse a JSON response, I'd rather put that effort into a custom function that parses the status codes being returned.

This does not address that the status codes for login errors should be optimized, but Jamie's solution for status codes for "check email" is valid.

If the validator can parse JSON, we can ask Jamie to consistently return JSON. If it can't by default, we'll take on coding a custom function that checks status codes.

Thanks!

Tags nav needs to link to a tag management screen

Hi, Sherri!

The tags nav represents my tags, so it should start with a link to a tags management screen.

The tags management screen should list all tags available, and have a checkmark indicator on those I've selected. I should be able to tap that icon to select/deselect that tag for my nav.

Mark

jQuery function to subset a list based on another list

We have two JSON arrays coming back for Interests:

  • possible interests: All interests in the database - tags - that the user can select
  • user interests: Those interests the user has previously selected

We need a function that will compare the two, and return the subset of possible interests that do not intersect the user's interests. I.e., possible interests minus user interests = unchecked interests to display.

Sherri, can you confirm and provide example JSON for both lists? I can ask Angela to take a look at this.

Thanks!

Mark

Stub a validation function into the signup form

Hi, Sherri!

The signup form should have a validation function that does the following:

  1. Checks that both passwords match
  2. Supports an Ajax call to the server to check if an email address is already in use
  3. Displays inline error message if either of those cases fails (or if email is not in a valid email format)

For #2, we should have a function that can contain an Ajax function, but not code the Ajax function yet. Let's build a spoof test case where if we enter "[email protected]" it returns the "That email address is already in use. Would you like to sign in?" message. ("sign in" should be linked to the sign in page.)

Thanks!

Onboarding version of My Interests/Tags

Hi, Sherri!

Let's create a copy of the My Interests screen for onboarding with the following copy at the top:

Thanks for signing up! Please help us curate your ArtsConnect experience by selecting some of your interests. When finished, you can start discovering events.

[Discover Events]

Discover Events should be a CTA.

Mark

Tap targets on switches

Similar to #11, I want to review and get a feel from everyone for usability on the switch elements. A cursory review showed that they required a slide and didn't support a tap, and there may be some built-in lag that's making them sensitive to quick testing.

Single location map

Hi, Sherri!

I'm looking to document the single location map feature for By Location. Before assigning to Angela, can you document where the location ID would come from when you click on a venue link? I'm guessing it's not going to be on the querystring or anything.

Thanks!

Mark

Check tap targets on nav icons

Hi, Sherri!

Playing around with the main screen yesterday, I had a bit of trouble consistently hitting the icons for the left & right nav, on my iPhone 5c, with my thumb or index finger. Sometimes they wouldn't respond and I'd tap multiple times. Sometimes I just couldn't hit them. In contrast, the star icon responded as I expected every time. Can you reproduce? I'm not sure it's the size of the tap target, or the proximity to the edge of the screen.

Thanks!

Mark

large screens

Map view and event images on large screens: map/image should expand vertically (see screenshot)
img_0087

img_0088

Change "Discover" to "ArtsConnect"

Hi, Sherri!

In any instance we have need for an app name, including the main screen's title bar, let's use "ArtsConnect" for now.

I think for the short term, this will suffice as a relevant brand.

Mark

Flash of ArtX

Hi, Sherri!

When you first hit the site, there's a flash in the title bar (on desktop) of "Artbot - ArtX" before it redirects to the Discover page with the title "Artbot". Can we remove "ArtX in the first instance?

Mark

Submit signup form to Tags (My Interests) screen

Hi, Sherri!

Let's make the action of the signup form the My Interests screen. Let's make that a GET so it doesn't return an error.

If the user enters a valid email address that is not the "user.exists" address, and passwords that match, they can submit to that screen.

Mark

For discussion: Backup navigation

How should we handle navigating back as we navigate forward through related events or venues? If we assume browser-based use of the app, this can be achieved via the back button. If we assume a "home screen" app, we need to enable "Back to..." type links in various screens.

In evaluating this, we need to consider that related events & venues are parallel, not hierarchical, entities, so this is not drill-down/breadcrumb style navigation.

A note on homescreen apps

Apple, for example, isn’t exactly making it easy for the people who are developing web apps. Web apps pinned to the home screen on iOS have serious issues that prevent them from working like native apps; for example, they often lose their state when the user switches to another app, and reload when they’re reopened. In fact, Apple is actively making pinned web apps worse.1 Things like the apple-mobile-web-app-capable meta tag are completely broken in iOS 8.

http://ignorethecode.net/blog/2014/11/04/web_apps/

Describe Forgot Password functionality?

Hi, Liam!

I think you said that Forgot Password support is now in the API (and we're scoping the screens to support it in the UI). Can you let me know the steps you're supporting? I'm assuming that we're starting with a new screen where you can enter your email -- What happens next?

  • Does the user get a temp password?
  • Does the user get a special link?
  • Does the user need to set a new password?
  • Can they just use an issued password until they decide to change it?

Thanks!

Mark

Status bar

Status bar at top of screen (where time, battery life, etc is): shows up blank when opening Artbot from home screen icon. Can we add the time and battery life in?
img_1882

YAML formatting

Hi, Angela!

I'm seeing some python character encoding stuff in the posts files. Will that be cleaned up? Is it possible for the output to be formatted with line breaks, too, for readability?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.