Thursday, December 1, 2016

Transcript: Ask the UXperts: Usability Testing — with Cindy McCracken

Yesterday, by popular demand, we hosted a session in our Slack channel on the subject of usability testing. Our UXpert was Cindy McCracken and she did a fantastic job.

As well as answering questions and handing out valuable advice, Cindy compiled this handy list of resources:

Reading List

Tools for all kinds of testing

User Research Techniques

Guidelines for prioritising study findings

If you didn’t make the session because you didn’t know about it, make sure you join our community to get updates of upcoming sessions. If you have follow up questions for Cindy, you can ask them over on our community forums.

If you’re interested in seeing what we discussed, or you want to revisit your own questions, here is a full transcript of the chat.

Transcript

hawk
2016-11-21 17:27
Session starts at 3 pm Wednesday 30 November PDT (or 10 am Thursday 1 December AEST)
You can use the command /tz help to get time zone conversion assistance here on @slackbot3
hawk
2016-11-29 22:55
The beginner’s guide to usability testing: http://ift.tt/2gugHRQ
jacqui_dow5
2016-11-30 21:56
I love usability testing!
hawk
2016-11-30 22:27
For anyone killing time before the session: http://uxmas.com/
hawk
2016-11-30 22:57
Quick overview of how these things go down:
hawk
2016-11-30 22:58
– I’ll introduce @cindy.mccracken
– Cindy will give an overview of the topic and run through some definitions
– We’ll throw it open to you for questions
hawk
2016-11-30 22:59
If things get crazy, I’ll queue your questions in a back channel and Cindy will answer them as she gets through them
jasmine
2016-11-30 23:00
Hey just heard that there’s a session happening today? How do I join?
jonny.bennett
2016-11-30 23:00
you’re in it @jasmine!
hawk
2016-11-30 23:00
We’re just about to kick off so your timing is perfect :slightly_smiling_face:
jasmine
2016-11-30 23:00
Oh! Haha, this is my first time. :smile:
lukcha
2016-11-30 23:01
Welcome @jasmine!
jasmine
2016-11-30 23:01
Thanks! Looking forward to it! :slightly_smiling_face:
hawk
2016-11-30 23:01
Ok, show time!
lukcha
2016-11-30 23:01
We’re all in for a treat. :slightly_smiling_face:
hawk
2016-11-30 23:01
First up, a huge thanks for @cindy.mccracken for your time today – we really appreciate it
hawk
2016-11-30 23:01
And thanks to the rest of you for joining us :slightly_smiling_face:
hawk
2016-11-30 23:02
Cindy recently published a great beginner’s guide on usability testing for us – you can find it pinned in this channel
hawk
2016-11-30 23:02
The formal intro: Cindy McCracken has worked in UX more than 10 years and is in her element when planning studies, conducting research, and analysing data.
hawk
2016-11-30 23:02
Currently consulting with User-View, Inc., focused on UX in the medical and financial fields, she has worked as a senior user researcher at Fidelity Investments, BB&T and iContact. Cindy earned a master’s degree in information science from the University of North Carolina-Chapel Hill.
hawk
2016-11-30 23:03
When she’s not working, you can find her hanging out with her 9-year-old daughter, reading historical fiction, or winding down in a yoga class.
hawk
2016-11-30 23:03
We asked her to come today to talk usability testing because it’s something that you (our community) requested.
hawk
2016-11-30 23:03
So @cindy.mccracken – over to you for an intro to the topic
cindy.mccracken
2016-11-30 23:03
Thanks for the intro, @hawk!
cindy.mccracken
2016-11-30 23:04
Hi everyone! I’m excited to have a conversation today about the details of usability testing.
cindy.mccracken
2016-11-30 23:04
I did my first usability tests for a non-profit when I took over for their webmaster in 2003.
cindy.mccracken
2016-11-30 23:04
I read the book “Designing Web Usability” by Jakob Nielsen, conducted tests, and was hooked.
cindy.mccracken
2016-11-30 23:05
So usability testing became a focus of my career.
cindy.mccracken
2016-11-30 23:05
Usability testing is a very useful technique for learning how well your designs work for people, but the more you get into it, you realize there’s always room for improvement.
cindy.mccracken
2016-11-30 23:05
You can always get better results.
cindy.mccracken
2016-11-30 23:05
There’s a lot to getting the right participants, writing effective tasks, and observing while remaining neutral.
cindy.mccracken
2016-11-30 23:06
The majority of usability testing is called formative testing – where you’re mainly concerned with learning how your product could be improved.
cindy.mccracken
2016-11-30 23:06
You come up with goals to test, and write realistic tasks for participants to get answers to your questions.
cindy.mccracken
2016-11-30 23:07
Of course, there are a lot of variations on the traditional in-person study.
cindy.mccracken
2016-11-30 23:07
For example, remote moderated testing. That gives you a lot more options for recruiting.
cindy.mccracken
2016-11-30 23:07
And then there’s the testing of mobile apps, which is very important these days.
cindy.mccracken
2016-11-30 23:08
And remote unmoderated testing – where you set up tasks in an online tool like UserZoom for hundreds of participants.
cindy.mccracken
2016-11-30 23:08
But for all types of usability testing, you need five things:
cindy.mccracken
2016-11-30 23:08
a design to test, participants, a test plan, a moderator (or test tool), and findings
cindy.mccracken
2016-11-30 23:09
For the design, remember to test throughout the process – from paper sketches to high-level prototypes. That lets you catch issues early.
cindy.mccracken
2016-11-30 23:10
For recruiting, consider who your target users are and where they are, then ask screener questions if you need to be specific
cindy.mccracken
2016-11-30 23:10
The test plan should include all the details of the study, such as the goals, session information (such as how observers can log in), all the tasks, etc.
cindy.mccracken
2016-11-30 23:11
When moderating, of course follow the test plan. Remember to stay neutral in words and actions; make participants feel comfortable; and remind people to talk if they’re not so you can learn.
cindy.mccracken
2016-11-30 23:12
Finally, with findings and presentations, prioritize your recommendations (low, medium, high), and definitely meet with stakeholders in person
cindy.mccracken
2016-11-30 23:12
In person is important so you can make sure the results are being interpreted correctly, and also so you can discuss results with business goals, etc.
cindy.mccracken
2016-11-30 23:13
Remember that in usability testing you are finding problems, not solutions.
cindy.mccracken
2016-11-30 23:13
So don’t get into talking about solutions at your debrief session.
nat
2016-11-30 23:14
There are many types of testing that you can do, do you have a key few you tend to go for first?
cindy.mccracken
2016-11-30 23:14
These are all high-level ideas. I’m curious why you’re here today … what you’re interested in.
cindy.mccracken
2016-11-30 23:14
Yes, I think moderated testing – either in-person or remote – is the best first way to get qualitative feedback
cindy.mccracken
2016-11-30 23:14
You can get great qualitative results about “why” your designs are and aren’t working well.
cindy.mccracken
2016-11-30 23:15
You can do a cafe study to be even quicker.
jacqui_dow5
2016-11-30 23:15
Do you find the findings in remote testing and in person testing give you the same validity?
cindy.mccracken
2016-11-30 23:15
If you do a cafe study, it should be very brief – like 3-5 minutes.
cindy.mccracken
2016-11-30 23:15
Just ask one or two most important tasks.
cindy.mccracken
2016-11-30 23:16
I have found remote testing to be very useful … a lot of times it’s been the only way I could get the right participants.
jacqui_dow5
2016-11-30 23:16
We are having the same
cindy.mccracken
2016-11-30 23:16
The main thing you miss is seeing people’s expressions. Try to make sure they’re talking a lot.
cindy.mccracken
2016-11-30 23:17
You can try to get people to share their faces with their webcams, but sometimes that can feel invasive or awkware
cindy.mccracken
2016-11-30 23:17
awkward
jacqui_dow5
2016-11-30 23:17
We’ve had it where multiple people have been doing the test at once, should we try and prevent this?
cindy.mccracken
2016-11-30 23:17
Yeah, remote is a great way to get more access to people. The incentive can be lower too.
cindy.mccracken
2016-11-30 23:17
You mean two or three people at a computer.
jacqui_dow5
2016-11-30 23:18
Yes! We had one a few weeks ago where we think there were 4 people in the same room around the PC
cindy.mccracken
2016-11-30 23:18
It can just get confusing … but I’ve had that happen too when it was a very import person who wanted others involved.
mpcnat
2016-11-30 23:18
How do you handle usability testing of a mobile app that is being tested by a remote user, and due to logistics and comms issues the facilitator is an account manager from your own company. What tips do you suggest to get some success out of the process?
jacqui_dow5
2016-11-30 23:18
I was worried if one was a ‘boss’ it may influence the others
cindy.mccracken
2016-11-30 23:18
You can try to get them to do it separately if it makes sense
cindy.mccracken
2016-11-30 23:18
Or if it doesn’t, ask that just one person be in control and talking.
lynne
2016-11-30 23:19
Can you explain what you mean by a cafe study? I can make a guess, but it’s the first time I’ve heard this term…
cindy.mccracken
2016-11-30 23:19
so … the remote testing is in person, but the AM is the facilitator?
cindy.mccracken
2016-11-30 23:19
oh wait, remote
cindy.mccracken
2016-11-30 23:19
how is it being done remotely? what method?
cindy.mccracken
2016-11-30 23:20
@jacqui_dow5 – that’s why if they could do it separately it would be better.
cindy.mccracken
2016-11-30 23:20
it’s like in a focus group … where one person might take over
hawk
2016-11-30 23:20
Note: I’ll acknowledge questions that have been queued with a :grey_question:
cindy.mccracken
2016-11-30 23:21
@lynne – a cafe study is where you set up in a cafeteria, or at a mall or somewhere with your design.
cindy.mccracken
2016-11-30 23:21
You have an intro and a task or two for people.
jacqui_dow5
2016-11-30 23:21
Is cafe study the same as geurilla testing?
cindy.mccracken
2016-11-30 23:21
Then you have people do the task on your computer or device, and pay them with a small gift card or something.
cindy.mccracken
2016-11-30 23:22
It’s just usually to get quick feedback on a particular interaction.
cindy.mccracken
2016-11-30 23:22
yes
kaydeecarr
2016-11-30 23:22
What is your technique for analyzing the data after you’ve done the testing?
cindy.mccracken
2016-11-30 23:22
@kaydeecarr – I spend time making sure I take clean notes that are organized and will be easy to analyze.
cindy.mccracken
2016-11-30 23:22
columns for participants / rows for questions.
cindy.mccracken
2016-11-30 23:23
Then I go through and add rows to count the way people behaved (accomplish task, etc.)
cindy.mccracken
2016-11-30 23:23
and add those (this is all in excel)
cindy.mccracken
2016-11-30 23:23
Also, just keeping track of big issues related to goals as we go through the test sessions.
cindy.mccracken
2016-11-30 23:23
Then at the end go through to find data to back up those findings.
cindy.mccracken
2016-11-30 23:24
but I go through everything in case I missed something.
cindy.mccracken
2016-11-30 23:25
@mpcnat How do you handle usability testing of a mobile app that is being tested by a remote user, and due to logistics and comms issues the facilitator is an account manager from your own company. What tips do you suggest to get some success out of the process? (remote participant, local account manager facilitator)
cindy.mccracken
2016-11-30 23:25
just repeating this question.
cindy.mccracken
2016-11-30 23:25
what is the process? can you see the device?
cindy.mccracken
2016-11-30 23:26
are they using webex on an ipad? something like that?
cindy.mccracken
2016-11-30 23:26
or holding their hands in front of a laptop’s webcam?
cindy.mccracken
2016-11-30 23:26
@mpcat – what issues / concerns are you noticing with the facilitator being an AM?
jacqui_dow5
2016-11-30 23:26
I’ve seen examples of where people attach a make shift camera holder to a mobile to record the screen? But would rely on the user making this and having a camera!
nik
2016-11-30 23:27
Is there a big difference between reports/presentations that are based on moderated VS unmoderated tests? It’s my impression that most insights from unmoderated tests comes from direct quotes whereas moderated tests include a lot of other factors, such as facial expressions, body language etc. And how does this affect the conclusions of a study? It seems to me that moderated tests will depend more on “personal interpretation” which can be more difficult to support scientificly.
cindy.mccracken
2016-11-30 23:27
Huh! That sounds interesting.
lukcha
2016-11-30 23:28
Mr Tappy!
cindy.mccracken
2016-11-30 23:28
@nik – In unmoderated tests, using UserZoom or Loop 11, I think most of the results are quantitative
mpcnat
2016-11-30 23:28
It’s a prototype app on a mobile device that the AM has in front of the customer, they have a facilitation script to assist them, that they take notes against whilst the customer performs tasks. The issue is that an AM isn’t familiar with usability Testing, but is great with the relationship, and they feel out of their depth, so do we cut down the tasks to test, but then then that means we lose insight with that customer, that we only see on an irregular basis
cindy.mccracken
2016-11-30 23:28
You would do them if you wanted greater certainty that certain things were problems, or to compare two different designs quantitatively.
cindy.mccracken
2016-11-30 23:29
So I would expect the results to be more charts, that sort of thing.
cindy.mccracken
2016-11-30 23:30
@nik – I don’t know if I’m answering your question. But in moderated testing, you still have findings – like whether people could complete tasks, where they got stuck, etc. So you have real facts to report. In addition to frustrations.
cindy.mccracken
2016-11-30 23:31
@mpcat – Is it in person then? It would help if someone else were taking notes so the AM could focus on facilitating.
jacqui_dow5
2016-11-30 23:31
I have used whatusersdo for unmoderated it was good as the users had a webcam so you got a similar video to moderated testing
cindy.mccracken
2016-11-30 23:31
It gets to be a lot to juggle.
cindy.mccracken
2016-11-30 23:32
Even better, have the AM introduce them to a UXer and have the UXer conduct the test. It can get overwhelming.
cindy.mccracken
2016-11-30 23:32
@jacqui_dow5 – Very cool! I’m going to take a look at whatusersdo. Thanks!
mpcnat
2016-11-30 23:32
yep it’s in person, sometimes there is someone else taking notes, but the feedback from the AM is “can’t you just give me the top 10 things you want to see, there is too much to watch out for”, which I get but since we may only get one go at it with them, it seems like we miss out, the script has tasks and also things to watch for (reactions) from the user on particular screens, this is where they feel overloaded.
cindy.mccracken
2016-11-30 23:33
Have you tried http://usertesting.com? You can create a mobile test for their testers to do on mobile.
hawk
2016-11-30 23:33
If you’re new to these sessions, you can jump in with questions at any time – they don’t have to be in context.
kaydeecarr
2016-11-30 23:33
Do you have any suggestions on what to do when users ask you questions? Like “how do I get to the homepage”?
robbin
2016-11-30 23:34
What’s a good way to practice writing up some questions? I’m new, so my worry is that I’m accidentally going to ask some leading questions.
cindy.mccracken
2016-11-30 23:34
@mpcat – Yeah, that’s definitely a lot to manage. When others take notes, and he doesn’t have to worry about writing down all the reactions, that doesn’t help?
cindy.mccracken
2016-11-30 23:35
@kaydeecarr – You can remind them that you’re there to see how they would do things if they were in their own environment. Ask where they think it would be … or where they would expect to find it
mpcnat
2016-11-30 23:35
It helps but sometimes it’s an AM by themselves on a site in the back of remote QLD :slightly_smiling_face: Thanks for the answers
lynne
2016-11-30 23:35
@mpcnat – can you get the AM to do a practice run with other people in the office? Might make them feel more comfortable with the task.
cindy.mccracken
2016-11-30 23:35
@robbin – definitely don’t ask users what they want … they don’t know.
mpcnat
2016-11-30 23:35
@lynne yep that’s how we are going forward with it. Thanks
cindy.mccracken
2016-11-30 23:36
know what important tasks for people to accomplish are … and ask tasks around that. be specific – like find a vacuum cleaner that gets good ratings and is in a particular price range.
cindy.mccracken
2016-11-30 23:36
What questions are you worried might be leading?
cindy.mccracken
2016-11-30 23:37
also you can follow up each task with a rating question – like how easy or difficult was that task (on a scale)?
robbin
2016-11-30 23:37
When I was practicing with the UX team, I was really tempted to ask things like, “But how do you think you would go back to the homepage?” and when I listened in, I also heard things like, “What do you think this button would do? Go back to the homepage?”
cindy.mccracken
2016-11-30 23:38
Try to keep them focused on accomplishing the tasks. If they’re looking at a button and not commenting, you can say, “What are you thinking?”
cindy.mccracken
2016-11-30 23:39
You’re right – that was leading. :slightly_smiling_face:
cindy.mccracken
2016-11-30 23:39
That is tempting … just try to stay calm and think before you speak. It’s hard to have restraint. I know.
nik
2016-11-30 23:39
You said “prioritize your recommendations”. What do you base this type of evaluation on? Especially, as an external consultant. Do you need access to certain data (e.g. visitors and clicks on specific websites or similar)?
robbin
2016-11-30 23:40
That’s what I thought :smile: I also wondered – how do you help the user feel a little more at ease? When I watch people, sometimes they feel really sheepish and I’m unsure if they’re being truthful. I’ve also been the tester before, so I’m used to saying exactly what’s on my mind because I personally don’t feel weird about it.
cindy.mccracken
2016-11-30 23:40
@nik – that’s a good question. I’ve always had a guide as to what makes something a critical issue vs. high or low, etc.
cindy.mccracken
2016-11-30 23:41
After this session, I can come up with something for you.
cindy.mccracken
2016-11-30 23:41
@robbin – Just try to relax and be friendly, and have a little chitchat at first. And definitely start with easy background questions.
cindy.mccracken
2016-11-30 23:41
Maybe offer them a drink. something like that.
cindy.mccracken
2016-11-30 23:42
@robbin – why don’t you think they’re being truthful?
cindy.mccracken
2016-11-30 23:42
do you think they’re trying to please you?
cindy.mccracken
2016-11-30 23:42
(that was leading)
robbin
2016-11-30 23:42
Hahah! Yeah, I think so – they sort of keep looking at me as if to ask, “Was that right?”
nik
2016-11-30 23:42
@cindy.mccracken That would be very interesting to see! I find myself struggling a bit with this and sometimes spend too much time on issues that might not be very critical
cindy.mccracken
2016-11-30 23:43
@robbin – Yes, that does happen! People think there are right answers. So you can definitely remind people that there really are no right or wrong answers.
cindy.mccracken
2016-11-30 23:43
… that you’re testing the software, not them.
hawk
2016-11-30 23:43
@cindy.mccracken I’d be interested in hearing about some ways to present your findings
cindy.mccracken
2016-11-30 23:43
You want to make sure the design is going to work for them, so you want their open and honest feedback. Really.
cindy.mccracken
2016-11-30 23:44
@hawk – I have done presentations – or results – several ways. One way that didn’t work well in my environments was a long report.
cindy.mccracken
2016-11-30 23:44
I don’t recommend that.
cindy.mccracken
2016-11-30 23:45
I tend to come up with a template for a PowerPoint report, and use that. I love using images and things like callouts to point out findings in the interface.
cindy.mccracken
2016-11-30 23:45
Sometimes color coding helps people see good vs. bad findings too.
cindy.mccracken
2016-11-30 23:45
I’ve tried bulleted lists in email, which can sort of work for agile.
cindy.mccracken
2016-11-30 23:45
But no matter what, it’s critical to present results in person, even if it’s in a casual setting.
jacqui_dow5
2016-11-30 23:45
We’ve had an issue where we are redesigning a system. Our current users have some preconceptions (we are hard to use, so things long winded) so when they test the new software it throws them when something is easy to do and they’ve started doubting themselves thinking we are tricking them! Any way of handling this?
cindy.mccracken
2016-11-30 23:46
You want to make sure everyone’s interpreting correctly and is on the same page about the findings – and agree on how they’ll proceed.
cindy.mccracken
2016-11-30 23:47
@jacqui_dow5 – Tricking them? I’ve never heard of that. I would just try to explain at the beginning of the test that you’ve heard issues and you’re redesigning because of them.
cindy.mccracken
2016-11-30 23:47
Maybe that will help their expectations? Or did you already try that?
jacqui_dow5
2016-11-30 23:48
Yes one comment was along the lines of ‘it’s a lot harder normally, I feel like I need to do more’
hawk
2016-11-30 23:48
There is 10 mins left in the session. If you’re sitting on a question, now is the time to ask!
jacqui_dow5
2016-11-30 23:48
We explain at the start why we are doing it and that this will be new and improved on what they’re used to!
nik
2016-11-30 23:49
Is it important to include “good findings” as well as “bad findings”? Or is it good enough to focus on problems in a report
cindy.mccracken
2016-11-30 23:49
@jacqui_dow5 – interesting to take note on that. that could be a good quote. Oh – which I forgot to mention … I love quotes in presentations! They can really be effective at conveying attitudes.
cindy.mccracken
2016-11-30 23:49
@nik – I actually always try to do both. Definitely.
cindy.mccracken
2016-11-30 23:49
The designers have worked hard on the product, and also they just need to know what IS working well so they keep those things.
cindy.mccracken
2016-11-30 23:49
It shouldn’t be all doom and gloom.
nik
2016-11-30 23:51
@cindy.mccracken That makes sense, I’ll keep that in mind. I guess including some bright sides will also make the team more inclined to want to involve you in a project again some other time :slightly_smiling_face:
bleke
2016-11-30 23:51
@cindy.mccracken Steve Krug talks a lot about getting decision makers to view the sessions. Is it something you normally do?
cindy.mccracken
2016-11-30 23:51
@jacqui_dow5 – Huh. Maybe follow up their – I need to do more – with a question. “Why is that?” or just get them to elaborate so you can learn more from it.
cindy.mccracken
2016-11-30 23:51
@bleke – I’m glad you brought that up!
jacqui_dow5
2016-11-30 23:52
Yes, good idea! It completely threw up in the test!
cindy.mccracken
2016-11-30 23:52
Yes, definitely have observers – as many as possible. It really does help with buy-in and general understanding of the problems when people observe.
jacqui_dow5
2016-11-30 23:52
Threw us*
cindy.mccracken
2016-11-30 23:52
You can simply share your screen and have people log in to the screen-share tool. Have them ask questions of the note-taker or through a different channel so participants aren’t distracted.
cindy.mccracken
2016-11-30 23:53
@jacqui_dow5 – I wondered what that meant.
jacqui_dow5
2016-11-30 23:53
Sorry it’s getting late here!!
cindy.mccracken
2016-11-30 23:53
@bleke – Definitely encourage people to come to as many sessions as they can attend.
cindy.mccracken
2016-11-30 23:53
@jacqui_dow5 – That’s OK! I’m glad you came!
bleke
2016-11-30 23:54
@cindy.mccracken Ok, thanks! :slightly_smiling_face:
lynne
2016-11-30 23:54
I recently attempted some usuability tests in a classroom setting, with multiple high school students using our site at once. It was very hard to manage – we got some good data, but I’m wondering if you have any suggestions on best practices for a session like this?
cindy.mccracken
2016-11-30 23:54
Re: observers – have a few minutes at the end where you ask observers if they have questions, and then ask them of the participant.
cindy.mccracken
2016-11-30 23:54
You don’t want to be interrupted by observers.
cindy.mccracken
2016-11-30 23:54
@lynne – was there a reason for multiple students using the site at once?
cindy.mccracken
2016-11-30 23:55
Like, is that how they normally use it/
cindy.mccracken
2016-11-30 23:55
?
nik
2016-11-30 23:55
One last question from me: Often management views usability testing as a box that should be ticked at the end of product development. Any advice for how to convince management that it should be done as early as possible in a project?
nik
2016-11-30 23:56
I’m hoping there’s one Magic Argument that always works
cindy.mccracken
2016-11-30 23:56
@lynne – It is hard to capture exactly who’s saying what. But if it’s necessary for multiple to be using, maybe focus on their interactions and how they’re doing it.
lynne
2016-11-30 23:56
Yes, it is used by schools in class. But the main reason was because we had an opportunity to do so and it’s hard to get into schools so we tried to make the best of it.
frankenvision
2016-11-30 23:57
Is it ok to make changes after a single usability test? If they are obvious blunders?
cindy.mccracken
2016-11-30 23:57
@nik – hmmm… I wish that too! More or less, do usability testing early as often as possible – even if very simple, affordable ones – to prove how it works and how important it is.
cindy.mccracken
2016-11-30 23:57
In other words, show don’t tell.
cindy.mccracken
2016-11-30 23:57
That worked really well for me at one company where they weren’t convinced of the value until we proved it.
cindy.mccracken
2016-11-30 23:58
If not that, find some good case studies to share …
cindy.mccracken
2016-11-30 23:58
And a lot of data that shows starting early is a best practice. If you wait too late, you can’t do anything with the data.
cindy.mccracken
2016-11-30 23:59
@frankenvision – Usually you will read that you shouldn’t make changes to design … but I think it’s OK if it’s something that’s not working but should have been, and you’re having to talk around it … that sort of thing.
cindy.mccracken
2016-11-30 23:59
That’s not a design change then; it’s fixing a bug.
robbin
2016-12-01 00:00
(Just wanted to say thank you for doing this! This is super helpful!)
cindy.mccracken
2016-12-01 00:00
@lynne – so you were trying to get a lot of kids’ feedback at once to make the most of your time? Here’s one idea … you could have them use the program individually .. and observe as much as you can. Then have a focus group of sorts where they discuss.
cindy.mccracken
2016-12-01 00:00
It’s a thought!
cindy.mccracken
2016-12-01 00:00
Thanks, @robbin! I’ve really enjoyed it.
frankenvision
2016-12-01 00:00
Ok thanks – how many questions should we use for remote usability tests? I think they’re supposed to take 15min for users to complete…
frankenvision
2016-12-01 00:01
What a good question to measure how trustworthy a company is?
cindy.mccracken
2016-12-01 00:01
It might depend on how long it will take to do the tasks. I’d say I’ve seen about 10 tasks on average. Best idea: test it with some people to see how long it takes before sending it out.
lynne
2016-12-01 00:01
That’s kind of what we did, they each had a computer, we gave them tasks to do, and discussed as a group at the end. They were a bit shy about the discussion part.
cindy.mccracken
2016-12-01 00:02
One idea for shyness that I like is first having them write down answers to your questions.
lynne
2016-12-01 00:02
The biggest challenge was trying to observe 20 different people at once. I couldn’t figture out if it was better to choose one or two students to focus on, or roam around the room.
cindy.mccracken
2016-12-01 00:02
Then, having thought it through first, people tend to be more confident.
lynne
2016-12-01 00:02
Nice idea about writing it down – i’ll try that next time!
cindy.mccracken
2016-12-01 00:03
great!
cindy.mccracken
2016-12-01 00:03
@lynne – maybe if that happens again, it could help if you had multiple observers??
cindy.mccracken
2016-12-01 00:03
that’s a tough one,.
hawk
2016-12-01 00:04
Ok all – after this answer that’s a wrap
frankenvision
2016-12-01 00:04
Is it best practice to run a single test to see how it runs or run 3-5 remote usability tests first go?
hawk
2016-12-01 00:04
Remember that if you have follow up questions you can ask at http://ift.tt/1qs7rt7
hawk
2016-12-01 00:04
Someone is there pretty much around the clock
seyonwind
2016-12-01 00:04
Thank you for all the usability advice @cindy.mccracken!
As always, thank you @hawk for hosting :slightly_smiling_face:
cindy.mccracken
2016-12-01 00:05
Thanks everyone! I really enjoyed this.
jacqui_dow5
2016-12-01 00:05
Thank you so much guys! This has been great!
hawk
2016-12-01 00:05
Thanks so much again for your time @cindy.mccracken – you rocked it!
lukcha
2016-12-01 00:05
This has been a great session_thanks so much for your advice and tips @cindy.mccracken :slightly_smiling_face:
cindy.mccracken
2016-12-01 00:05
Of course. And thank you for hosting,
lynne
2016-12-01 00:05
Thanks @cindy.mccracken and @hawk!
hawk
2016-12-01 00:05
And thanks for all the great questions
hawk
2016-12-01 00:05
Have a great morning/afternoon/evening/night all
cindy.mccracken
2016-12-01 00:05
Indeed.
nik
2016-12-01 00:06
Thanks a lot @cindy.mccracken . Good night
nat
2016-12-01 00:08
Thanks!
lukcha
2016-12-01 00:12
Thanks everyone!

The post Transcript: Ask the UXperts: Usability Testing — with Cindy McCracken appeared first on UX Mastery.


by Sarah Hawk via UX Mastery

Maybe I Was Wrong about Java – Part 2

[special] Editor's Note: Being in a Java channel, most of us know the language very well and have been in its ecosystem for at least a couple of years. This gives us routine and expertise but it also induces a certain amount of tunnel vision. In a new series Outside-In Java non-Javaists will give us their perspective of our ecosystem. [/special]

I don't deal with Java much, so I'm investigating how true all my preconceived notions about it are. Last time, I mostly explored user-facing concerns, like speed and size. Results: inconclusive.

But modern Java is increasingly used in places where it's invisible to users: In datacenters, on phones, on my toaster. So perhaps the really interesting questions are about how Java looks to developers.

Java Is Insecure

Java's infamy as a walking security issue dates back to the ancient days where Java applets were a common thing, you trusted that the JVM could effectively sandbox them, and occasionally it couldn't.

Maybe trying to whittle down an entire general-purpose language and its massive standard library to be safe enough to run from the web was a bad idea, but it's a moot point now. I very rarely see Java applets any more. I don't think I even have the NPAPI plugin installed. Firefox doesn't let Java applets run automatically, and is dropping support for them entirely in March; Chrome dropped support last year.

Granted, this was probably in part because Java applets had become more of an attack surface than a useful platform; a CISCO report from 2014 prominently claims that 91% of web exploits were aimed at Java. I think that same year, my then-employer was warning everyone to manually disable Java in their browsers if they didn't specifically need it. If that's the only exposure you get to Java, well, it's not going to leave a great impression.

Hey, hang on. This is supposed to be about the developer perspective. So what about the runtime itself, independent of applet concerns? "Secure" is difficult to quantify, but as a very rough approximation, I can look for the number of CVEs issued this year.

  • PHP: 107
  • Oracle Java: 37
  • Node: 9
  • CPython: 6
  • Perl: 5
  • Ruby: 1

Er, whoops, that caught me off guard. I honestly expected to be pleasantly surprised and clearly proven wrong here, but that list makes Java sound somewhat worse than I thought. I hope there's a great explanation for this, but I don't have one.

Java Is Enterprisey

Ah, another word that everyone uses (myself included) but that doesn't mean anything. It conjures a very specific image, but a very fuzzy definition. I have a few guesses as to what it might mean.

Java Is Abstracted Into The Stratosphere

The abstractosphere, if you will. The realm of the infamous AbstractSingletonProxyFactoryBean.

I'm actually a little confused about this one. Turning to elasticsearch again, I stumbled upon this class, WhitespaceTokenizerFactory. Its entire source code is:

public class WhitespaceTokenizerFactory extends AbstractTokenizerFactory {

    public WhitespaceTokenizerFactory(
            IndexSettings indexSettings,
            Environment environment,
            String name,
            Settings settings) {
        super(indexSettings, name, settings);
    }

    @Override
    public Tokenizer create() {
        return new WhitespaceTokenizer();
    }
}

Okay, sure. You want to be able to create an arbitrary tokenizer from some external state, but you don't want the tokenizers themselves to depend on the external state. Makes sense.

Still, this code looks pretty silly, especially if you haven't seen the other classes that do more elaborate things. The same words are repeated three times; a 38-line file has only two lines of actual code. It's easy to look at this and think Java code goes to ridiculous extremes with its indirection. At worst, I might do this in Python:

@builder_for(WhitespaceTokenizer)
def build(cls, index_settings, env, name, settings):
    return cls()

@builder_for(SomeOtherTokenizer)
def build(cls, index_settings, env, name, settings):
    return cls(index_settings.very_important_setting)

# etc.

I'm handwaving how this would actually work, but there's not much to it. It might even be possible in Java, come to think of it, but probably not pretty or idiomatic. Alternatively, Python code might just have the build on the tokenizer classes themselves. One nice thing about dynamic typing is that code can use a type without depending on it. The tokenizer class can work with IndexSettings and Environment objects without having to import the types or even know they exist. It's a little iffy, but in a case like this where everything's internal, it could make sense.

But given that Java's type system is what it is, I can understand why you'd end up with the above code. What confuses me is this.

Why don't I see the same thing in other languages?

I found this collection of tiny factory classes after about a minute of randomly clicking around in the most starred Java project on GitHub. I'm completely unsurprised by it. Yet I can't recall seeing anything similar in other explicit, statically-typed languages. Where are the tiny factory classes in C++? The most starred C++ project is Electron, and searching for "factory" only finds me code like this, which has a lot more going on. The most starred Objective-C project is AFNetworking, which contains "factory" once — in a changelog. The most starred Swift project is Alamofire, which somehow doesn't contain the word "factory" anywhere!

So while I can accept that layers of indirection and tiny classes are useful for getting along with a C++-style type system, I don't understand why I see them so much more often in Java than even in, well, C++.

Is this a cultural difference? Are C++ developers happy to have a tangled web of interconnected dependencies? Do these tiny classes exist in C++, but live all together in a single file where they're much easier to ignore?

Java definitely seems to live in the abstractosphere, but I can't figure out why it's so different from similar languages.

Java is Tediously Verbose

"Enterprise" makes me think of repetitive bureaucracy sucking the joy out of everything.

Accessors Everywhere

And Java makes me think of accessors. Same idea, really.

private int foo;

public int getFoo() {
    return this.foo;
}

public setFoo(int foo) {
    this.foo = foo;
}

Look at all this code eating up precious vertical space to do absolutely nothing. I could've just said public int foo; and been done with it.

There are three kinds of programmers in the world, distinguished by how they reacted to that last paragraph. Some nodded their heads, and they are probably Python programmers. Some balked that this violates encapsulation, and will balk again when I say that I don't care about encapsulation. Finally, some rolled their eyes and pointed out that a public attribute is frozen into the API and can never be changed without breaking existing code.

Ah, those latter folks might have a point. The trouble is that Java doesn't support properties. "Property" is a horrible generic name for a language feature that's become popular only somewhat recently, but if you're not familiar, I mean this magical thing you can do in Python. If you have a foo attribute that external code is free to modify, and later you decide that it should only ever be set to an odd number, you can do that without breaking your API:

class Bar:
    def __init__(self):
        # Leading underscore is convention for "you break it, you bought it"
        self._foo = 3

    @property
    def foo(self):
        return self._foo

    @foo.setter
    def foo(self, foo):
        if foo % 2 == 0:
            raise ValueError("foo must be odd")
        self._foo = foo

bar = Bar()
bar.foo = 8  # ValueError: foo must be odd

@property is an artifact of great power that transparently intercepts attempts to read or write an attribute. Other code can still work with obj.foo as expected and never know the difference. Even @property itself can be expressed in plain Python code, and there are some interesting variants: Lazy-loading attributes, attributes that transparently act as weak references, etc.

I know Python, Swift, and a number of .NET languages (C#, F#, VB, Boo, ...) support properties. JavaScript is specced as supporting them by now, though I'm not sure how much code relies on them in the wild. Ruby has them, with slightly different semantics. Lua and PHP can fake them. Perl has a thing but you probably shouldn't use it. The JVM itself must be able to support them, since Jython and JRuby exist. So why not Java the language?

It seems odd to me that Java hasn't picked up on this feature that would cut out a lot of repetition. It was apparently proposed for Java 7, but I can't find an explanation of why it didn't make the cut, and now it seems to be very much not a priority.

But Wait, There's More

Continue reading %Maybe I Was Wrong about Java – Part 2%


by Eevee via SitePoint

EasyFader – Lightweight Fading Slideshow Plugin

EasyFader is an ultralight fading slideshow plugin for responsive layouts by using jQuery.


by via jQuery-Plugins.net RSS Feed

This week's JavaScript news, issue 312

This week's JavaScript newsRead this e-mail on the Web
JavaScript Weekly
Issue 312 — December 1, 2016
A warning against using too many cutting edge, experimental features, and a look at how new features go through a multi-stage process that’s often overlooked.
Mike Pennisi

Component driven and with a one-way data flow architecture. Only 7KB in size, and includes a feature to migrate from React quickly.
Dominic Gannaway

A look at the current state of the V8 JavaScript engine, the WebAssembly project, and the relevance of both on JavaScript performance. 34 minutes.
Seth Thompson

GrapeCity
Enterprise JavaScript spreadsheet and data presentation components for creating modern data layouts, numerical models, dashboards, reports, and more. Includes Spread.Sheets & Spread.Views. View online samples or download your SpreadJS eval today.
GrapeCity   Sponsor

Vildan Softic builds a Markdown editor with undo/redo functionality to demonstrate using Redux to manage state in Aurelia apps.
Sitepoint

A native JavaScript auto-synchronizing object database with a SQL like syntax and persistence engines for both the browser and Node.
Simon Y. Blackwell

Jobs

  • Senior Front-End Developer (Professional Services) at BackbaseWe are a unique, fast growing startup-like company, creating powerful software products with the latest technologies. We have awesome international peers and a lot of room for innovation. Come work with us in Amsterdam. Watch it here. Backbase
  • Web Platform Architect at Twitch (SF)Join the Twitch JavaScript team as a Web Platform Architect and help define our next gen React web platform that scales across our distributed product engineering org while achieving a highly performant web experience.  Twitch
  • Find Your Perfect Fit - Try HiredSick of pushy recruiters, and dead end interviews? Try Hired to hear from top tier companies, and only talk to relevant companies. Hired

In brief

Ember 2.10 and 2.11 Beta Released news
Godfrey Chan, Brendan McCloughlin & Nathan Hammond

The State of Front-End Tooling 2016 Survey Results news
4715 developers responded to a recent front-end tooling survey and the thorough results are shared here.
Ashley Nolan

The Future of Aurelia: Roadmap and Upcoming Features news
Rob Eisenberg takes a look at the future of Aurelia, from tooling to server-side rendering to a look at Aurelia UX, Aurelia’s open source sister framework.
Sitepoint

NativeScript Deepens Ties to Angular 2 news
The JavaScript framework’s 2017 roadmap includes accommodations for Chrome tools and Windows 10.
Paul Krill

Int64 and Uint64 Now Stage 1 Proposals news
Brendan Eich

Integrated Continuous Testing Tool for JavaScript tools
Instant feedback from your tests and realtime code coverage right in your editor, now with coverage reports.
Wallaby.js  Sponsor

Writing Your Styles in JS ≠ Writing Inline Styles tutorial
“What many people don’t realise is that there’s a difference between what’s called ‘inline styles’ and what’s called ‘CSS-in-JS’.”
Max Stoiber

Clean Up Your Vue Modules with ES6 Arrow Functions tutorial
Jacob Bennett

A Friendly Introduction to Vue.js tutorial
Chase Allen

JavaScript Is Not An Enemy of Accessibility opinion
Marco argues that frameworks aren’t inaccessible simply because they’re frameworks.
Marco Zehe

Advanced Data Tables in React opinion
A look at some data table libraries in React, how they compare to each other, and suggestions as to which one you should choose depending on your context.
Philipp Sporrer

Vue.js Fundamentals video
A ten-part tutorial series starting off with the basics on how to get started with Vue.js, moving into more advanced functionality.
J. Alexander Curtis

Frameworks Without The Framework: Why Didn't We Think of This Sooner? tools
You can’t write serious apps in vanilla JS without hitting a complexity wall. But a compiler can do it for you.
Rich Harris

Become a Security Expert While You Code tools
Don’t just write stronger code — become a smarter developer, with Jacks. Find places to secure your Java/JavaScript code and learn how to fix it.
Codiscope Jacks  Sponsor

babel-plugin-log-deprecated: Adds console.warn to Deprecated Functions tools
Gajus Kuizinas

ng2d3: A D3 + Angular2 Composable Reusable Charting Framework code
Swimlane

Vuelidate: Simple, Lightweight Model-Based Validation for Vue.js code
Monterail

Curated by Peter Cooper and published by Cooperpress.

Like this? You may also enjoy: FrontEnd Focus : Node Weekly : React Status

Stop getting JavaScript Weekly : Change email address : Read this issue on the Web

© Cooperpress Ltd. Office 30, Lincoln Way, Louth, LN11 0LS, UK


by via JavaScript Weekly

10 Tips for Generating Business Leads with Free Webinars

A camera recording

A webinar is an effective strategy for getting qualified leads, especially for your B2B business. It is an online seminar or a meeting or a presentation that helps you to showcase your business expertise and promote yourself to a global audience. It helps you to get face to face with your audience and lets them interact with you, helping you to build business credibility.

According to the American Marketing Association, 60% of marketers use webinars in their marketing programs.

And according to this post by Neil Patel, Kissmetrics, Adobe and Buzzsumo got a whopping 22%, 20% and 19% overall conversion rate from webinars.

A webinar helps you reach out to a larger target group and build upon the thought leadership of your business. It gives you the opportunity to capture the details of your prospects and re-engage with them, with the help of customized campaigns.

Here are some useful tips for organizing a free webinar and generating quality leads.

Host Free Hangouts on Air With YouTube Live

Hangouts on Air is a free tool to host your webinar. This tool helps you to create a webinar at any time from anywhere. So, this means that you could host a session with a global audience from any remote part of the world. The tool does not show you any ads and does not ask for a premium subscription.

You can easily create your Hangouts on Air using your YouTube channel. You can visit the ‘Creator Studio’ and create a live streaming event from the sidebar and choose the ‘Quick’ option there.

Create a live streaming event

(Source)

You can add the relevant title and description to your event and make it public for the audience to see on your channel. You can promote the event's link on other collateral and channels to get maximum participation.

The tool helps you to record your live video for those who miss the webinar and wish to view it later. While running the webinar, you can choose to share your screen with the audience or enable it to show the webcam view.

Decide on the Subject

A webinar is presented by a person to a live audience. But deciding on a subject for the webinar is similar to deciding on the topic for other content formats such as an eBook or a white-paper. You need to make sure that your presentation includes some learning for the audience.

Create a compelling headline

(Source)

The attendees are going to give their precious time to listen to you and must have the incentive to do so. Your subject and content should not be self-promotional, and it should provide a solution to some of the current challenges faced by the audience. Using a powerful headline with a quantifiable benefit to the users would certainly help you get people interested.

Plan and Test The Webinar

It is important for you to plan and test the flow of your webinar. You can provide additional time for the ‘Q&A’ session. It is important to proofread the content of your presentation beforehand. Add a brief introduction about the content and yourself or the speaker in the beginning of the presentation. You need to talk about the qualification and experience of the speaker and build confidence among the users.

Optimize the speed at which the webinar will be presented. Your audience should neither get bored, nor feel that it is going too fast. Get your team to give you feedback on the content and style of the presentation and make improvements wherever required.

Create a Landing Page

A landing page is the most important way to communicate about your webinar and promote it to your target audience. You need to add all the details of the webinar, such as the date and time, the speaker and the topic of the presentation.

Landing page speaker profiles

(Source)

Highlight the profile of the speaker and also showcase the benefits the prospects would get from participating in the webinar. Add a CTA and a simple contact form to get more users to register themselves.

Email Promotions

You need to create a compelling email campaign to get more and more participation on your webinar. Communicate the key attraction of the webinar in the messaging. It has to include the expertise of the speaker, the topic and main benefit of the webinar.

Highlighting the problem areas that are commonly faced by the target audience is helpful. It pitches the webinar as an opportunity for them to find the appropriate solution. Add bullet points of the key benefits that the webinar will provide.

The call to action must create scarcity and a sense of urgency to drive user action. Also mention any giveaways or discounts that you would provide exclusively to the webinar attendees.

Webinar call-to-action

(Source)

Including 2-3 time zones or a time zone converter in your email message will make it simpler for prospects from different parts of the world. Add headshots of each of the speakers to make your invite more appealing.

Send your campaign to that segment of your overall target audience who will be interested in the particular webinar. You need to send out automated ‘Thank you’ mailers to all those who register themselves for the event.

Email reminders are essential to get more users to actually participate. You can create automated reminders at regular intervals, say once or twice a week, and the last ones should go one day and then a few hours before the event.

Continue reading %10 Tips for Generating Business Leads with Free Webinars%


by Abhishek Talreja via SitePoint

Edit Code in the Browser with ICEcoder

A developer at work

Developing websites has historically involved the assistance of your favorite code editor or IDE. Whether you were developing locally on your own machine or working on a live development site, chances are that you built your site using a traditional program such as Sublime Text, Notepad++, Aptana Studio, Brackets or any of the others.

Until recently that has been the only option. The web, even a mere five or six years ago, wasn't as great as it is now, with browser usage more fragmented and all those browsers acting in far more inconsistent ways. Before, there was no real chance of using a web-based editor for your work life, but now it's becoming a much more tenable solution.

What Developers Want in an Editor

Developers need tools that help us build great systems, whether they are websites, apps or anything in between. Gone are the days of using basic editors such as Notepad for development. For a code editor to be useful, it needs to offer several things in abundance:

  • Ease of use with minimal confusion
  • Feature rich, with all the elements you take for granted
  • Responsive and quick
  • Reliable and solid
  • Features to improve your workflow and provide assistance
  • Extensibility and customization

Your choice of editor will directly affect almost every aspect of your work, so it's important to choose one that's going to make your life easier.

When developers talk about the features they want in an editor, they talk about code hinting, de-linting, and multiple language syntax highlighting.

Something you rarely hear developers ask for is an editor that's entirely online. That may be changing.

Browser-based Code Editors

In the past I've played with the idea of doing all my development work online, but every time I've tried I've encountered too many problems to persist with my efforts.

Ever year or two I'd give it another go to see if things had improved. To be considered a realistic option, the editor has to look and feel like a traditional editor with the same (or better) features. Most have not met this standard.

There are a number of browser-based editors out there such as CodeAnywhere and Ace that work relatively well. We've reached a point where these apps are serious contenders, and today we're going to look at one that boasts a wide range of features.

ICEcoder: An Editor That Works

I approached ICEcoder cautiously, comparing it with my preferred editor (Aptana Studio). I was impressed with how easy it was to get started. With other tools I've had to put in the hard yards to get it all up and running, but with ICEcoder it only took a few steps and I was off coding.

Getting Up & Running with ICEcoder

The best way to get to know ICEcoder is by getting it up and running and playing around with all of its features.

You can run it on your machine via localhost, or install it on a publicly facing domain. Since one of the major benefits of ICEcoder is that you can develop from anywhere, we're going to get it set up on a live site.

Download ICEcoder

You can get ICEcoder from the website via the download button (you'll need to provide an email address), or you can navigate into your top level directory and git clone the files from the command line:

$ git clone git@github.com:mattpass/ICEcoder

Download ICEcoder from the website

Copy the Files to Your Server

You'll need to navigate to the root directory (which, depending on your system, might be something like public_html or httpdocs) and then create a new sub-directory to put ICEcoder in. I created an icecoder directory on my test server, but you could call this anything.

ICEcoder directory

Be sure to set your folder permissions to 755 and your file permissions to 644 to ensure everything will work correctly.

Log In & Play Around

Now that you have all the pieces in place, you need to open up your browser and navigate to your site, appending the name of the sub-directory that you chose. Here's how it initially looked when I visited it on my domain:

ICEcoder login screen

When you first start it, you'll see the configuration screen. This lets you set a password and set up some basic options. These can be changed later, but for now it's good to set a password.

One really cool feature you might want to set up is the Multi-User system, which lets multiple people log in to the editor. We'll look at this in more depth later, but it's good to know it exists for now.

Once you've logged in you should see your file directory on the left and the dashboard on the right. Here's my setup — it's fairly empty except for a WordPress install.

ICEcoder dashboard

Exploring ICEcoder's Features

ICEcoder outlines several of its features and functions in its docs. We're going to look at some of its strong points.

I've added a copy of WordPress in the root of my directory so you can see how ICEcoer works in a real world situation. You should definitely try this out with your usual tech stack to see how it will work for you.

Ability to Code Anywhere

One of the benefits of ICEcoder (and I would say its strongest feature) is the ability for you, as a developer, to code wherever you go and with any device.

If you're working on a development server you will need to have your code editor on every device you intend to connect to it. You'll need it on your desktop at home, on your laptop so you can develop remotely and then potentially at your office. While having different devices and setting them all up is fine, a better and more forward thinking solution is to just use the web.

So long as you have internet connectivity, you can develop and be productive.

As a quick aside, I've used ICEcoder on both my desktop, laptop and tablet and they all worked as expected. I would say so long as your device is big enough, you should be able to edit on the go. Phones and smaller devices are generally awful for coding beyond small bug fixes.

Multi Language Support & Code Assistance

Code editors need to support a wide range of languages. Whether they're all-purpose editors such as Aptana Studio, or more specialized such as Android Studio, editors need to be able to work with various file formats and style them accordingly.

ICEcoder handles all of the different files you'd expect straight out of the box, such as HTML, CSS, SASS, JavaScript, PHP and more. There's also support for implementing other languages. Each of the languages has its own distinct color and styling inside the editor, making it easy to differentiate between them and giving you enough contrast between keywords, attributes, elements and values.

Here's how ICEcoder displays stylesheets using the default theme which, makes it easy to see and distinguish your selectors, attributes and values.

ICEcoder color styles

Code Hinting

Another sought-after feature is code hinting, or code assisting.

These features kick in as you write your code and provide you with options or values that are applicable for your current document. For example, when you're editing a HTML file, as you type ICEcoder will dynamically show you a list of values. It's enabled by default and can be toggled on or off near the top right hand side of the UI.

Here you can see it offering to autocomplete the rest of the <article> tag.

ICEcoder HTML code assist

Being able to see all of your applicable values is very handy when working with CSS or other languages with dozens or hundreds of options.

Even without the code assistance turned on, ICEcoder does the following to help speed up your development:

  • Automatically closing new opened tags
  • Automatic bracket correction, adding your closing bracket to open functions
  • Show trailing spaces (shows you where you have empty white space where there shouldn't be)
  • Indenting by either tabs or spaces (for the crazy few who indent with spaces!)
  • Line wrapping or splitting

You can adjust these options easily under the "Style" section in ICEcoder's settings.

Theming and Custom Styles

ICEcoder's default style is a dark theme, with light text on a dark background. You might want to change this depending on your own visual preferences.

ICEcoder provides over twenty default themes, which can be switched out on a single click inside the "style" tab of the settings panel.

ICEcoder themes

There's a range of different styles here. Most of them have great contrast, spacing and layout.

If you're not keen on any of these themes, you can create your own. These themes are just stylesheets with various rules to dictate the colours and layout. You can find them under the /CodeMirror/theme/ folder, each with their own stylesheet.

You can edit an existing theme and save it, or copy an existing one and adjust the styles as you see fit. The basic approach is simply defining colors, but there's nothing stopping you from going crazy with your styling if you know what you're doing.

Once you have your new stylesheet ready, you can select your new theme in settings (remember to update the 'Name' of the theme as defined at the top of the stylesheet so you can identify it).

Plugins and Extensibility

ICEcoder boasts a range of plugins you can install to provide additional features.

If you hover over the left-hand side of the file explorer, the plugin menu will expand out. Here you can see a quick listing of all the plugins you have installed. You can click on the bottom '+ / -' icon to open the plugin manager:

Continue reading %Edit Code in the Browser with ICEcoder%


by Simon Codrington via SitePoint
This website attempted to run a cryptominer in your browser. Click here for more information.