Code Monkey home page Code Monkey logo

bellows-riddles-base's People

Contributors

pcardune avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bellows-riddles-base's Issues

I want to get some beta testers but I want to control the number of users and their invites

What would be the easiest way to say. Invite someone to test, and that person would get 3 more invites, but the people he invites wouldn't get any invites.

Quick Django app maybe? But how could we tie in the Username and Password to our Test Service?

Of course it would need to be little more feature complete before we started testing but still it would be nice to know it is working before we get to the Parse stage. I would definitely want to build in a feedback mechanism. I will mockup how I think it could fit easily into the system. I can manage all the feedback requests. Right now I think it would be nice if it sent an email to an account with a performed subject based on the context of where the feedback was sent. Then I could use filters to organise it and make it easier to manage the feedback coming in and the reply if I have more questions.

User Stories

  • Add a user and give him a number of invites.
  • Give an existing user more invites.
  • Give all users additional invites.
  • Email them when they get more invites
Bonus
  • Give multiple users at a time (multi select)
  • Put users into groups so I could add invites to a whole group.

Mocks should take into account iphone keyboard

This screenshot should be pretty self explanatory. If there is a filter for the words in the list, then when the text input is focused the keyboard will necessarily obscure the riddle. Maybe that's desired but it seems funny to me.

screen shot 2014-10-14 at 2 30 20 pm

Could we just build the whole thing in javascript/html5?

Hey,
So you are way good at javascript and when I was trying to build the UX testing thing I realised this game would be pretty easy just to do in pure javascript making it pretty easy to port to different platforms and even resolutions.

I think you are using react. Since, well, you probably wrote it, or at least parts of it. But could it access parse's javascript libraries? I am showing my inexperience here but they base their implementation off of backbone. Could the two interoperate? One sounds more backend and one more front end UI focused, but I don't know. It sounds like a lot of work to to get React pulling from parse. Would it be?
Again, just trying to make your life easier. I have a habit of "weakly holding strong opinions" so I don't mind adapting. I just keep moving forward and hope something works in the end. At any point I go astray. Just let me know. Also, my favorite type of work is the kind that makes it so you have to do less work.

Cheers,
James

no mockups :(

I see the commit that supposedly added the mockups, but am I supposed to see some pictures somewhere?

Here's my ugly but working version:
screen shot 2014-10-12 at 8 29 44 pm

A better github markdown editor

_random ideas means I had an idea and want to write it down before I forget_

I like editing in Github so I can preview what I develop, but some of my .md files are getting pretty long and hard to look at through text. So I am deep in a document and want to see what it looks like? I need to go up to preview then back down to see it then back up to write then back down (which is the hard part if you have a complex file like the mockups.md. I think if you built an editor that had two options. View Mode and Edit Mode it would make it so much easier to use markdown in a lot more places.

View mode
What everyone is used to. Everything would be all clickable and nice.

Edit mode
It would look like view mode as in it is represented in html but when you click on something instead of going to a link or highlighting a title it would change that current line into a text editor and you could edit the markdown. So, you could edit specific parts of the text while still looking at the formatting. No more jumping back and forth between write and preview. Maybe I'll have someone make it for me someday. Would be a useful markdown editor tool for many platforms.

Problems starting the node

I tried npm start in the parent directory of the project and got and error, saw there was the package.json in the app directory so I put it there and ran start again. Got this..

Jamess-MacBook-Pro:app Tinman$ npm start

> [email protected] start /Users/Tinman/Github/bellows-riddles-base/app
> webpack --watch --debug src/riddles.js build/riddles.js

sh: webpack: command not found

npm ERR! [email protected] start: `webpack --watch --debug src/riddles.js build/riddles.js`
npm ERR! Exit status 127
npm ERR! 
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the ReactHack package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     webpack --watch --debug src/riddles.js build/riddles.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls ReactHack
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 14.0.0
npm ERR! command "node" "/usr/local/bin/npm" "start"
npm ERR! cwd /Users/Tinman/Github/bellows-riddles-base/app
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/Tinman/Github/bellows-riddles-base/app/npm-debug.log
npm ERR! not ok code 0

Propose moving json-db into /app/

If they start the server on our parent directory it means that they have access to everything right? Can we move json-db into your /app folder. Then they could start the server from app? Seems a little safer.

Maybe I am misunderstanding how you serve it though.

They don't need anything else from the parent repo right?

Or, does moving it into /app/ reveal to the user our json-db, so it gives them all the riddle answers? That wouldn't be good either.

Made Branch json-db-0.1. Does this workflow work?

So, if the schema of the json-db works for you in the branch json-db-0.1 I will only make changes that add to the current definition. Like more riddles and levels basically, but nothing else, or change the background image. It is just random un-purchased stock art at the moment so yeah....

See if this work flow makes sense. Or, if there is an easier way to do this.

  1. If I make a branch from json-db-0.1 called json-db-0.2.
  2. I add new items to the schema in json-db-0.2. For example a new setting or sound recording for the riddles I have made.
  3. Then I add some riddles using the db0.1 schema.
  4. If I sync do I get the new riddles in db0.2 from db0.1?

If so then

  1. I can make db0.2 until it is complete and validates all tests.
  2. You can change your importer into parse to account for the new db changes (either you, or the import script your write when you write one).
  3. If that works on your end then we can deprecate/delete json-db-0.1 and branch db0.3 from db0.2.
  4. db0.2 is the now supported version and db0.3 is the development version.
  5. Then we continue the cycle till we hit the v1 release milestone.

Basically, your importer(either you or your script) would always work consistently for the master supported db version. So you can just follow the same workflow you do for that version. I mean there will be bugs, but they will be regulated to a certain schema which will make it easier to squash since there isn't any BIG changes. I'll make a list of changes the import statements should account for, like changing riddle order, or changing the value of the points you get for a riddle.

When I make edits to db0.1 I will merge them into the master branch. So, I can add riddles as I write them, and make changes that don't break schema. Like add more levels, or change the riddles around for balance. Or make edits to riddles. (I saw a couple weak ones that need some work and spelling I am sure is bad)

But, I can also work on the next iteration of the db like a setting we need for a certain feature or adding support for custom fonts, or audio files for the riddles. Any out of schema changes would be made in the dev branch of the db (now db0.2) until tests past on my end, you update the importer, then we make db0.2 the master supported version and I develop on db0.3.

Is that over complicated? Or would this make it easier on you? What would you recommend?

I noticed you implemented it a little differently. Which should we use?

I moved your app into the HackReact Repo. I noticed that the usability was different than I was thinking. Now I am curious what is best.

Yours if you guess an answer wrong it leaves the pile.

Mine if you guess it wrong it stays there.

So now three are three implementations you could do.

Implementation 1 - Answer Banks are globally the same within a level

The reasoning I thought was that when you change Riddles the list of words to choose from stays the same until you solve a riddle. Then it is removed globally from the list. The words would be consistent across all of the riddles in a level.

Implementation 2 - Answer Banks exist individually within each Riddle

As you guess wrong it would keep the possible answer list getting smaller, but it wouldn't change the bank of the other riddles in the level. So you start from scratch each time.

Implementation 3 - Hybrid. Answer banks are local but when solved are removed globally.

Each riddle would start with a full list of answers in the bank kept track of individually for each riddle. Once you guess and it is wrong it is removed in the riddles individual list and you lose a life. But it remains as an option in the other riddle banks. Once you get it write however it would remove it from the word from the global list.

Comparing

Category Global Individual Hybrid
Implementation Difficulty Middle Easiest Hardest
Reasoning Because you only need to keep track and store one object per level of riddle banks I am not sure but it seams like having it's own would be easiest to track and store because it would be tied to it's own riddle Because you would need to keep track of an object for each riddle and then modify all of them when you answer correctly level wide
User Difficulty Middle Hardest Easiest
Reasoning You would have to get an answer right to make the pool smaller, so you would need to find the easy ones first You would start from scratch each time but it would help you remember what you already guessed The list would get smaller as you guess and the list for all of the other riddles would get smaller as you get them right. Overtime you could find them all.

Not sure which to go on yet. I mean will it be too easy? or, too hard? I want people to have fun. Not smash their head against a wall. Especially in the beginning. We need to build something and let people play it. Maybe I should start a Google Group or something of beta testers we could invite, to get feedback.

And I don't know how complicated this would be in implementation because I am not that good at JS so you'll have to make some calls on that. What do you think?

How hard would it be to do the Hybrid? And, how would it scale with a difficulty increase? Could it still work with the same code at the hardest difficulty. I guess it would just remove them from the list of total possible words. But within each level. There should be a happy medium somewhere. How hard would it be to test this?

Could you abstract the collection of assets to get from rest API or from the Parse DB

This is labeled future because I get ideas and rather than just forget them I write them down. But it doesn't mean I think we should really do it now, soon, or ever. It is just an idea.

As I was thinking today. I realised that this app might get very large if I had many high quality movies. You could save some space for the end result of the movie using the new h.265 for videos with audio. Or you could use GIFV to make it smaller when there is no audio. (or maybe there isn't really a size difference there / h.265 might be better anyway) We could test it.

Anyway, to my real reason why I ask the question. I think it would help with usability and adoption. I want to bring down the adoption barrier as much as possible, but still make an awesome, fun, beautiful app. So, you give them the controls.

That App is just too big for me ...

If someone looks at the app store and sees an app is x.GBs it might be intimidating to download. So to keep it small we could default to not having the larger assets in the db, and then have a useful start up screen so the user could choose the way he wants get those assets. Since it his his choice he will get less mad at us when it fills up their phone, and it gives him the option of deselecting one instead of un-installing when he thinks it is to big.

Start up process
  1. Welcome Screen
  2. Connect to Facebook (Or continue without if you want. But inform them why it would be nice too)
  3. Choose Sync settings (Be informative about which is what and why you would want either)
    • Download all (Every Update get all of the assets on the phone for offline access)
    • Get from Cloud over Wifi and Data (REST access to Google Storage) (Still update for riddle and setting changes)
    • Only Get from the Cloud when connected to wifi (It would just have a place holder image instead of the Hirez videos when you played without Wifi) (Again still syncs game updates, but not asset updates)
  4. First Riddle

Have a discover as you go feeling. As new difficulties show up it would introduce you to them instead of telling you all up front.

Keyboard 0.1

Keyboard for 0.1

Works for first and second difficulty, but the closed keyboard is the same size as keyboard 0.3 so the riddle image can be the same.

If you want to skip to keyboard 0.3 you can. or do this one first.

Usability

When you click on a word in the bank it puts it down below. Once you are satisfied you can hit guess. I don't want people guessing on accident because they clicked on a word on accident... so I think it should be a double step.

  • Todo - I think it would be nice if the current word you selected was shown on the keyboard closed. So you could go back and read the riddle. I'll update the mockups later to reflect that. I think this will give you a good enough idea to know what I am thinking though.
Keyboard Closed Keyboard Open
keyboard-closed keyboard-open

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.