Recently, I started working on Android Wear for the first time. It's been fun playing around with the new platform and form factor. And, of course, the official Android docs that I read could be condensed further for absolute newcomers. So, in the typical fashion, I've created myself a cheat sheet that I would use next time I would want to learn the easiest way for how to best create Wearable apps.
I've open sourced all my code so far on GitHub. It includes how to first set up the virtual Wear device, connect to the handheld device, and how to have the app send and open a notification on the wearable.
https://github.com/danialgoodwin/android-wear
~ Danial Goodwin ~
Showing posts with label best. Show all posts
Showing posts with label best. Show all posts
2014-08-13
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:
My Summary (Just from my research (links below), though more can always be done.)
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)
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-02-19
Level Up - Webmaster: How To Randomly Redirect Visitors To Different Websites
There is a very simple method using PHP to have visitors automatically redirected to another site.
Why this is useful:
- User clicks "Take me to a random" page. You can finely-tune the random outcome.
- You are doing some A/B testing and want to sent users to different locations to test.
- Or, like me, you want to share your various websites/games, from a single button.
Try clicking
Ex: http://apps.simplyadvanced.net/windows8/redirect
Step 1: Here's all the PHP code that you need:
Step 2: Done
Or, if you want to redirect the visitor after they visit a certain URL on your domain, then simply create an "index.php" file in the public directory that you want users to be redirected from, then the above code is all that you need to put in it.
Try it: Random Windows 8 Games created by me.
Try it: Random Windows Phone Games created by me.
~ Danial Goodwin ~
Why this is useful:
- User clicks "Take me to a random" page. You can finely-tune the random outcome.
- You are doing some A/B testing and want to sent users to different locations to test.
- Or, like me, you want to share your various websites/games, from a single button.
Try clicking
Ex: http://apps.simplyadvanced.net/windows8/redirect
Step 1: Here's all the PHP code that you need:
$urls = array("siteA.com",
"siteB.com",
"www.example.com"); $url = $urls[array_rand($urls)]; header("Location: http://$url"); ?>
Step 2: Done
Or, if you want to redirect the visitor after they visit a certain URL on your domain, then simply create an "index.php" file in the public directory that you want users to be redirected from, then the above code is all that you need to put in it.
Try it: Random Windows 8 Games created by me.
Try it: Random Windows Phone Games created by me.
~ Danial Goodwin ~
2014-01-24
The Progression of Learning How To Write Code
Quote:
"The ugliest code I ever saw was the junk I wrote two months ago. The greatest code I ever saw is the stuff I'm writing today. This statement will still be true two months from now."
Unfortunately, I haven't been able to find a good source to reference this quote to.
~ Danial Goodwin ~
"The ugliest code I ever saw was the junk I wrote two months ago. The greatest code I ever saw is the stuff I'm writing today. This statement will still be true two months from now."
Unfortunately, I haven't been able to find a good source to reference this quote to.
~ Danial Goodwin ~
2014-01-12
Level Up - Paint.NET: How To Scale Up Images And Keep Them Pixelated
Typically, when you resize an image in Paint.NET, it will use anti-aliasing in order for images to look less pixelated. But, sometimes, when you have a great small image, you want to keep it pixelated. So, here's how you do it.
1. From the menu bar, click Image->Resize (or just Ctrl+r).
2. Locate the "Resampling" drop-down menu at the top of Resize window. By default, the option selected is "Best Quality".
3. Choose the "Nearest Neighbor" option. Set your width and heights. Then click "OK".
You now have a large image with the pixelation still intact.
How did I find this out? Experimentation (aka guess and check). Good thing there were only four options there to choose from. ;)
UPDATE: A few days later, I have now written a follow up to this with more image comparisons and reasons why you may want to keep pixelation on an image when resizing.
~ Danial Goodwin ~
ps - The image I used in my screenshots used to be 34x32 pixels, then I scaled it up to be 1000 pixels wide. Then, I added the gem's shine (which isn't pixelated).
1. From the menu bar, click Image->Resize (or just Ctrl+r).
| Step 1. Go to the Resize menu |
2. Locate the "Resampling" drop-down menu at the top of Resize window. By default, the option selected is "Best Quality".
| Step 2. Click the Resampling option |
3. Choose the "Nearest Neighbor" option. Set your width and heights. Then click "OK".
| Step 3. Select "Nearest Neighbor" resize option |
You now have a large image with the pixelation still intact.
How did I find this out? Experimentation (aka guess and check). Good thing there were only four options there to choose from. ;)
UPDATE: A few days later, I have now written a follow up to this with more image comparisons and reasons why you may want to keep pixelation on an image when resizing.
~ Danial Goodwin ~
ps - The image I used in my screenshots used to be 34x32 pixels, then I scaled it up to be 1000 pixels wide. Then, I added the gem's shine (which isn't pixelated).
2013-05-20
First Impressions Using MoSync and Appcelerator's Titanium Cross-Platform Mobile Development Tools
Last week, I did some background research into which was the best cross-platform mobile development tools. I looked over many different SDKs and have all my notes in my other blog post: http://blog.simplyadvanced.net/cross-platform-mobile-development-tools/
Today, I spent time installing both MoSync and Titanium. Then, I tried to create a basic "Hello, World!" program with them. These results have a clear winner.
Background:
I am running the free version of both programs on Windows 7 (64-bit). I only tested developing Android applications at this juncture. iOS development requires a Mac for both of them (also according to Apple licences: "can only compile and publish from an Apple device").
MoSync:
Within five minutes of installing their MoSync SDK and Eclipse-based IDE, I had a sample app running on my Android (4.0) device and felt very confident it would also easily run on other platforms. There were no problems, I was pleasantly surprised. Tip: I used http://www.mosync.com/documentation/manualpages/getting-started-html5-and-javascript
Appcelerator's Titanium:
First, the installation process took about 4 times longer and took many more steps than I thought necessary. The Android emulator didn't want to run because Titanium installed itself in a sub-directory of "Titanium Studio" and couldn't access the directory itself because there was a space in its name. So, I tried to run the sample application on my same Android device and after 30 minutes of "pre-compiling" it seemed that Titanium crashed (infinite loop). Titanium's getting started guide: http://docs.appcelerator.com/titanium/latest/#!/guide/Quick_Start
Conclusion:
MoSync's first impression is fantastic for developers. Users are able to see results very quickly.
Keep in mind, this was only a test in first impressions so far. Very important, but nevertheless, I will still be experimenting with both MoSync and Titanium as the summer goes on and be posting about my experiences.
Source
~ Simply Advanced ~
Today, I spent time installing both MoSync and Titanium. Then, I tried to create a basic "Hello, World!" program with them. These results have a clear winner.
Background:
I am running the free version of both programs on Windows 7 (64-bit). I only tested developing Android applications at this juncture. iOS development requires a Mac for both of them (also according to Apple licences: "can only compile and publish from an Apple device").
MoSync:
Within five minutes of installing their MoSync SDK and Eclipse-based IDE, I had a sample app running on my Android (4.0) device and felt very confident it would also easily run on other platforms. There were no problems, I was pleasantly surprised. Tip: I used http://www.mosync.com/documentation/manualpages/getting-started-html5-and-javascript
Appcelerator's Titanium:
First, the installation process took about 4 times longer and took many more steps than I thought necessary. The Android emulator didn't want to run because Titanium installed itself in a sub-directory of "Titanium Studio" and couldn't access the directory itself because there was a space in its name. So, I tried to run the sample application on my same Android device and after 30 minutes of "pre-compiling" it seemed that Titanium crashed (infinite loop). Titanium's getting started guide: http://docs.appcelerator.com/titanium/latest/#!/guide/Quick_Start
Conclusion:
MoSync's first impression is fantastic for developers. Users are able to see results very quickly.
Keep in mind, this was only a test in first impressions so far. Very important, but nevertheless, I will still be experimenting with both MoSync and Titanium as the summer goes on and be posting about my experiences.
Source
~ Simply Advanced ~
2013-01-26
Simply Advanced Unit Converter - 50000 Downloads!
It may not sound like much, but this one app has more downloads than all my other apps combined. Unit converters is a big market and this app has at least two features that don't appear in other unit converters.
This is easily my choice and many others' top choice for unit converters.
Testimonials:
Thank you everybody for supporting the app by giving it five stars!
Link: The best android unit converter in Google Play.
~ Simply Advanced ~
This is easily my choice and many others' top choice for unit converters.
Testimonials:
- "Simply the best And I tried all of them"
- "Does the job, quickly and cleanly Simple and straight forward interface makes quick conversions a breeze. Enter in your measurement, and all the related units are converted and updated instantly."
- "Simple but the best No more complications just a simple complete unit converter."
- "Great Improvement Looks and works great. Love the new logo. Keep it up!"
- "Look no further Wouldn't even consider any other unit converter after this one."
- "Powerful & straightforward Just what I needed for metric & temp conversions!"
Thank you everybody for supporting the app by giving it five stars!
Link: The best android unit converter in Google Play.
~ Simply Advanced ~
2012-11-15
New Quora Post - Happiness
In the weekly email I get from Quora (a great Q&A forum, possibly the best), I decided to answer one of the questions posed, "To be happier, what's the smallest, simplest thing an average person could do?"
Let me know your thoughts too.
http://qr.ae/18SbT
~ Simply Advanced ~
Let me know your thoughts too.
http://qr.ae/18SbT
~ Simply Advanced ~
2012-07-24
Your Way Is The Best Way
My way of doing things is better than your way. But, your way of doing things is better than mine.
What does that mean?
When people use their survivalist instincts, they will do things the best way they know how. ("Best" is a very opinionated word and will mean different things to different people.) So, until they hear/understand another method, everybody should be able to say to themselves that they know best.
But, remember.. there is always a better idea out there.
It should be a goal for everybody to understand different ways to accomplish tasks. The way to find out about different methods is to talk to others or read. Only then can you truly say your way is the best way.
~ Simply Advanced ~
What does that mean?
When people use their survivalist instincts, they will do things the best way they know how. ("Best" is a very opinionated word and will mean different things to different people.) So, until they hear/understand another method, everybody should be able to say to themselves that they know best.
But, remember.. there is always a better idea out there.
It should be a goal for everybody to understand different ways to accomplish tasks. The way to find out about different methods is to talk to others or read. Only then can you truly say your way is the best way.
~ Simply Advanced ~
Subscribe to:
Posts (Atom)