Showing posts with label learn. Show all posts
Showing posts with label learn. Show all posts

2014-03-22

Level Up!: Do Users Need To Click "I Agree" to TOS Button To Give Consent?

(TLDR: No. Courts decide these cases simply by whether the person had reasonable notice of the Terms & Conditions. If you have a website/app and plan on collecting personal info or just have customers in general, the I highly suggest you read more about this topic. Disclaimer: IANYL.)


As a UX designer, I try to make things that are as simple and painless as possible for users to use. One pain (and protection) that almost every product/app needs is a Terms of Service (TOS) agreement, aka Terms of Use (TOU), aka Terms And Conditions (T&C), aka End User License Agreement (EULA).

The current "best practice" for showing TOS to users is by providing a clear link near the "continue to use app" button (which could be a register or purchase button). This is so that most users don't have to go through the extra step of clicking "I Agree" to something that they likely didn't read. Also, having the TOS pop-up interrupts users' flow (and can sometimes be quite scary-looking).

But, unfortunately, before today, I never really thought about the legal consequences of the different methods to show users the terms and conditions. I just used methods that I noticed many other great UX designers and companies using. So, I wasn't able to explain the legal-ness (to my satisfaction) to concerned client.

I took it upon myself to take the time to do some research around this area and organize it into this post, with sources and references cited.

In my research, I have found that the courts also know that most users don't read the TOS, and clicking "I agree" doesn't mean that the user has read it. What the courts look for is mainly that the user has had the easy opportunity to find and read the TOS, if they wanted to.

There are two main ways that users "agree" to TOS:

  • Click-wrap Agreement, aka "click-through agreement": This means that users must take some sort of action that signifies their consent to the TOS. This action could be a button that says "I Agree". Also, near the call to action, it is sufficient to say "By [continuing], you agree to our Terms of Service", with the TOS having a direct link.
  • Browse-wrap Agreement, aka "not a contract": Basically, saying users agree to TOS by browsing website/app, and the link to TOS is not extremely easy to find in regular use. A link at the bottom of the website could be considered hard to find, especially when there are many other links down there too.


My Summary (Just from my research (links below), though more can always be done.)

  • If your app collects or uses personal information, then use the click-through (clickwrap) agreement.
  • Remove any clauses about unilaterally editing contract at any time.
  • Add ability for company to modify terms, with prior notice. [More research needed for exact words to use]
  • Add ability for users to reject TOS, e.g. by terminating account. 



A few sources I read, in order of my recommended readings (Yes, there is a "Good" before "Great", just because of what this post was supposed to be about):
 - Great: How Zappos' User Agreement Failed In Court and Left Zappos Legally Naked (Forbes)
 - Great: The Clicks That Bind: Ways Users "Agree" to Online Terms of Service (EFF)
 - Good: Terms Of Use And Privacy Policy Best Practices (UpCounsel)
 - Great: Website Terms and Conditions: Some Best Practices (JDSupra)
 - Miscellaneous, but good: Terms of Service; Didn't Read (TOSDR)
 - Good: Browse wrap (Wikipedia)
 - Okay: Clickwrap / Browsewrap Agreements: It’s the Notice, Stupid!

Further Reading:
 - Terms of Use and the Digital Millennium Copyright Act (DCMA)
 - Search "Clickwrap vs browsewrap"


Disclaimer: I am not your lawyer (IANYL). This post's only intention is to help point readers in the right direction to learn more about this topic.

~ Danial Goodwin ~


ps - Bonus info! The terms "click-wrap" and "browse-wrap" come from physical goods/software that was "shrink-wrapped". Manufacturers had license agreements that basically said users agree to TOS by removing the shrink-wrap. (Source: Wikipedia)



2014-03-10

Learned Experience

Many things learned are useful in other aspects of life.

Recently, I have learned a lot about business taxes and now personal taxes are so much easier to tackle. And, reading the IRS publications aren't that bad anymore. Prior to doing all of the business taxes research, I thought the IRS website and publications were overly complicated. Now, I consider each pub to be light reading even though they are small font, three columns per page, and typically around 5-40 pages.

I feel good.

~ Danial Goodwin ~



2014-02-17

Level Up - Programmer: How To Quickly Setup And Use Git And GitHub

A long time ago, the first time I started trying to learn Git and GitHub, I thought it was an unnecessarily complex process. All I wanted was simple version control and easy collaboration. So, instead of learning Git, I just made everything really modular. For one of my teams, we even just worked in completely different files, and it worked out okay.

But, now, I want to explain the absolute basics on how to start, in order to drastically reduce the learning curve. You can always find more detailed information later. And, you can get started right now!

Assumptions:
- You already know what Git is.
- You are running Windows OS.
- You already have folder/file(s) in mind for added a version control system to or want to do easy collaboration on code projects.
- You want to get started with GitHub.
- You are okay with basic instructions meant for the easiest use of Git/GitHub.

Git
Step 1: Download Git.
- Make sure you have "Git Bash" to be installed also, and you can add it to your [right-click] contextual menu also during the install process. (And/or you can add Git to your Path.)


Step 2: Configure Git.
- Open Git Bash (either right-click in file explorer or find it through search)
- Type the following two lines into the console, and change the red parts to your own information:
git config --global user.name "Your Name"
git config --global user.email "your@email.com"

Step 3: Setup project to work with Git.
- Navigate (using cd) the console to the directory where you want to enable Git.
- Run the following lines to setup the folder to work with Git and "save" all the files in the directory.
git initgit add . 
git commit -m "Initial commit"

And, now you have version control. Just do those last two lines again whenever you want to save a new version. Change the red part to something descriptive of the change.



GitHub
Step 4: Create a GitHub account.
- If this is your first time using GitHub, you will need to create an SSH key. After entering the following, hit enter again to save to default location (your user folder/.ssh).
ssh-keygen -t rsa -C "your@email.com"
- The console tells you where the public key has been saved. Open that file in Notepad++ and save the contents to GitHub.com->Profile->Edit Profile->SSH Keys->Add SSH Key. (Each arrow -> is basically another click.)
- Check for success by running:
ssh git@github.com

Step 5:  Create a new repository (sometimes called a "repo")
- Click the big green button somewhere on GitHub that says "New repository"
- Name the repo and create it.
- On the page you are navigated to, find/copy the "SSH clone URL". This will be used in the next step and looks something like, "git@github.com:danialgoodwin/MyFirstRepoNameHere.git"


Step 6: Pull From GitHub, then Push To GitHub.
- Setup the location that you will push to and pull from. The part in red should be substituted with your info from step 5. (The following should all be on one line.)
git remote add origin git@github.com:andrew8088/Shazam.git
- You always want to "pull" from GitHub before you begin your work because others may have updated the code:
git pull origin master
- Now, you can finally update your code to GitHub!
git push origin master


For more great information and details, please visit:
- Easy Version Control with Git
- Official GitHub site, there should be large buttons wanting to help you further.



~ Danial Goodwin ~



2014-02-09

Level Up - Webmaster: Setting Up Your First Laravel Website Or App

(For webmasters, a continuation on my last post Level Up - Webmaster: Installing Laravel and Composer on Bluehost.)

This walkthrough contains all the instructions I would have needed on one page, rather than looking through twenty different pages. This is a blunt how-to for connecting to a database with Laravel and displaying information. At the end are links for more specific and advanced info.

The following has explicit instructions and commands for a shared hosting provider like Bluehost, but the instructions should be the roughly the same for other providers and setups. I suggest to follow the steps explicitly the first time through, then run through it a second time with your specific project's names.

0. This simple "tutorial" assumes that you already know a little bit about Laravel and have possibly read my first install and setup walkthrough.

Setup the database:
1. Create a database on your server with a user and password.
2. From your root project folder, edit app/config/database.php to match your new database credentials.
3. In your root project directory, run php-cli artisan migrate:make create_users_table
4. You should now have the file that looks something like: app/database/migrations/2014_02_09_195357_create_users_table.php. Edit the up() and down() function to look like:
    public function up()
    {
        Schema::create('users', function($table)
        {
            $table->increments('id');
            $table->string('email')->unique();
            $table->string('name');
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::drop('users');
    }
5. Now, back in the project root dir, run: php-cli artisan migrate
6. At this time, your tables in the database will be automatically created. Add some data manually so that we can test that retrieving data works.

Create a view:
7. Create a route (subdirectory pointer) in app/routes.php by adding the following code:
    Route::get('users', function()
    {
        $users = User::all();

        return View::make('users')->with('users', $users);
    });
8. Create two new views in app/views. Call the first one layout.blade.php and add this code:
   
       
           

Laravel Quickstart



            @yield('content')
        
    
Create the second view, called users.blade.php:
    @extends('layout')

    @section('content')
        @foreach($users as $user)
            {{ $user->name }}
        @endforeach
    @stop
9. Go to your doman.com/users and you should have all the user names from the database displayed on the page.


Note:
- If the php-cli command doesn't work for you, then try just php


More info:

2014-01-03

Dan vs Phases of Matter

Assume for a moment that we don't take for granted everything we learned in school.

Today's post is about the different phases of matter and mainly their reaction of going from one to another.

Coming from a naive perspective, isn't it weird how a liquid state can just go to a gas state in our everyday lives? (E.g. boiling liquid water on a stove) Would it not make more sense if there was more of a gradual change from liquid to gas, rather than just directly? It seems to not be a slow enough change, how science has defined it in classes.

Meme: Liquid going to gas, that escalated quickly.

~ Danial Goodwin ~

ps - This was just the basic version. Eventually, I may have a post about supercritical fluids and degenerate gases.



2013-12-31

Common Sense is Not Common

Not everybody has the same common sense as everybody else. Many people grow up in different environments with different experiences and knowledge learned.

I though that was common sense, but I guess not.

(This can even be extended to my favorite comic strip: Ten Thousand by XKCD)

~ Danial Goodwin ~



2013-12-27

Google Search Answers

For some search queries, Google displays an answer at the top or right of the results. In order to get these results Google usually has to scrape content off of other sites. So,

Is it possible to scrape Google's answers off their search results page, which they have scraped off of others?

I'm sure it is. I just don't just have time to look it up, so that's why I'm sharing.

Have fun,
~ Danial Goodwin ~



2013-11-13

Danial Versus Memory

The bad thing about having good memory is that, along with all the good things remembered, you also remember the mistakes.

Wait...

Maybe that isn't a bad thing. We are supposed to learn from our mistakes, right? How can we do that without first knowing the mistakes and remembering them?

~ Danial Goodwin ~



2013-11-11

"Reading Isn't Free. The Cost Is Opening Your Mind To New Perspectives"

Today, as I was riding my bike 3.5 miles to play volleyball, I thought up of a new tagline for my blog, "Anonsage. Think. Do. Learn."

The old tagline was, "Thinking about thinking about thinking. Don't be stuck in a paradigm, facts change." And, I really like that one. I might even use it again. Or at least feed it to one of my sub-blogs to use for awhile. But, now, I think I have a better line, only because my old lines has been in use for such a long time.

"Reading isn't free. The cost is opening your mind."

Here's some other variations of it that I was thinking of:

  • Reading isn't free. The cost is opening your mind to new perspectives.
    • Personally, this might be my favorite because it has "new perspective" in it. But, in order to be Simply Advanced™, I have to limit things if not too much is taken away. I hope "cost is opening your mind" makes enough sense. Perhaps, I'll try both in some A/B testing. I would like to see which version aligns with readers better.
  • The cost of reading is opening your mind [to new perspectives].
    • It's short and sweet, but I don't think it is as powerful as, "Reading isn't free".
  • The cost of listening is opening your mind to new perspectives.
    • This is a more general quote, which is more useful when in a non-reading context.

I could think of others right now, but my blog posts have recently been getting on the really long side. So, I'll leave it up as an exercise to the reader to think of more variations on "reading is not free".

In my first used version of this, it will have to be "Reading isn't free. The cost is opening your mind to new ideas and perspectives." even though it is a little longer. I hope readers will better understand what happens in this blog. But, I'm still really thinking about taking out the "ideas" part... hmmm...

~ Simply Advanced ~

ps - At the time of this writing, Google search returns no results for any of these quotes/taglines in quotations (",").



2013-09-24

Jobs Are For People Without Direction

Jobs are for people without a lot of self-motivation, without direction/strive, and without confidence in themselves.

This sudden thought occurred to me when I was hearing about some different job positions and what they entailed.

People with a job want to be told what to do, whether they admit it or not.

Self-motivated, self-directed people with strive and confidence have the ability to take their lives wherever they want to go, and do whatever they want to do. Each of these attributes play a large part in being able to get things done.

Because I have lived like this throughout most of my life, combined with the love of learning, I have been able to amass a great deal of raw and technical knowledge that typically surpasses the average. Though, I am not an expert in any one subject, I typically think that I'm above average in many categories, but don't most people?
So, the mentality I prefer is to give others the benefit of the doubt. This keeps me in the learning/student frame of mind so that I may better think less critically and more constructively.

Once I put my mind to something, things happen. So, that's why I believe that I would easily excel at any job. Maybe that is why I choose to have none? Because they are too easy for me? Even at a really technical job, after one month on the job, with my self-motivation and drive, I would easily feel comfortable on the systems. If I spent 2-3 months on something, then I would be an expert-in-knowledge (as opposed to an expert-in-application, which would involve actually doing a lot more of use-cases/test-cases.).

Then again, if this is seen as a rant, then it is quite possible that I am bias. Just keep in mind though, that I never consider myself better than others and I don't like to do comparisons either.

I'd like to hear others' comments.

 - Danial Goodwin -
Indie Developer

ps - Corollary: Jobs can also be for people who want quick money. ;)



2013-09-22

Microsoft's App Studio

Today, I wrote two blog posts regarding a new product from Microsoft that allows anybody to easily and quickly create and publish Windows Phone apps.

Learn about it: What Is Microsoft’s App Studio?

Learn more about it: How To Edit App Studio Code

~ Simply Advanced ~



2013-09-05

Topic: Sleeping

I consider sleeping a hobby.

Some people like to do it more than other and some don't like it all.

Me.

There are sooo many other exciting things I could be doing or learning. Sleep is at the bottom of the list of things that I want to do in my life.

Statistically, people will sleep one-third of their life away. I really would like 20-40 years extra to life the way I choose.

But, I guess science (and my body) says I have to...

For now...

~ Simply Advanced ~

ps - For now, I guess I could also just call it "meditating all night". It is possible to figure out problems and solutions when lying on a bed.



2013-07-11

Common Knowledge

I think there is a lot of "common knowledge" because of the people I hang out with. College-going people have different experiences than non-college individuals.

I can't say definitively whether or not going to college is most beneficial for individuals, it depends highly on a person's self-motivation and willingness to learn.

One of my favorite XKCD comics just happens to be about common knowledge: http://xkcd.com/1053/ (I've spread around this link so much that I have it memorized.)

~ Simply Advanced ~



2013-01-07

Learn Morse Code Quicker

This should make learning Morse code a little easier than staring at a plain list.

A quick Morse code refresher:
  • Dit is the same as a dot. Dah is the same as a dash.
  • The duration of a dash is three times that of a dot.
  • Letters are separated by a space duration equal to one dash (or three dots).
  • Words are separated by a space duration equal to seven dots.



For more information about Morse code, including numbers.

~ Simply Advanced ~



2012-08-03

Quick Learn - How Jeans Are Made

I like to think I am pretty good at summarizing topics. So, take 7 seconds to learn basically how jeans are made. ;]

1. Get cotton
2. Strengthen cotton, including adding cornstarch
3. Add dye
4. Cut out jean pieces
5. Stitch pieces together
6. Roughen jeans
7. Use laser to add designer creases

http://www.wimp.com/jeansmade/

~ Simply Advanced ~



2012-06-04

Memorize Pi - My Second WP7 App

Three modes. 1000+ digits of pi. Quick learning curve, but hard to master. More hours of fun than any other game you may play.

Learn pi, memorize pi, remember pi, bake pi, master pi. You can do any of these with this app. Become the Pi Master. Impress all your friends by reciting pi [I currently recite up to 133 digits accurately]. Learn to sing pi, and play pi on the piano and guitar [Directions at the bottom of this post].

Only for a limited-time this app will be ad-free!

Many more features and FREE updates coming soon! Including:

  • high scores
  • more challenge modes
  • customizeable settings
  • and more.. so stay tuned


Bonus - For the music part play 31415926535897932384626433832795 slowly, working your way up to 157 [or 314] beats per minute. Let 1=C, 2=D, 3=E, 4=F, 5=G, 6=A, 7=B, 8=hi-C, 9=hi-D

It'll sounds great and I've never forgotten the song since. =]

Click here to see the free app in the Windows Marketplace.



More WP7 apps with different numbers coming soon! Suggestions accepted.
~ Simply Advanced ~