Last week, nearly our entire team had the good fortune to attend StirTrek, a one day conference with tons of great web and technology related content. Our large group was able to cover many different sessions and learned about lots of great topics. We've put some of the highlights below.
TL;DR: it was both awesome and affordable. We'll be attending again next next year.
Modern Web Diagnostics with a Glimpse into ASP.Net - Anthony van der Hoorn
- "Glimpse" is a powerful tool to analyze the full life cycle of a page request from the client, to the server, and back to the client
- It is free and open source
- We've already found a place for Glimpse in day to day development work
Team Peace of Mind: Harnessing the Power of Flow for Happier Teams & High-Quality Deliverables - Derek Hubbard
- In psychology there is a state of mind called "flow" where productivity is highest
- Conditions needed for "flow" to be highest:
- You must have a clear goal
- You must have feedback on your actions
- You must be a good balance between challenge and skills
- Three tools for increasing "flow" among team members
- the platform is promising for writing in-house monitoring apps where any change in code, markup, or data will automatically push updates to client browsers
- This was my favorite talk of the day. I installed Meteor when I got home and started hacking.
Adventures Beyond the Page Fold - Exploring UX Mythology - Benjamin Bykowski
- A good general overview of the "conventional wisdom" web usability that is actually myth.
- Benjamin gave good stats on the outdated "above the fold", "fill up that whitespace", and "everything must be three clicks away" common client requests.
- The talk was not ground breaking per se' but it's always good to hear reinforcement on good UX from other professionals.
A humbling experience through web accessibility - Hany Elemar
- As the title says, it was humbling to realize that I inject a sighted bias in to my work
- The presentation included a live before & after demo of a screen reader on some accessible/not accessible HTML that was enlightening.
- There are relatively easy ways to make all content visible to screen readers (hint: do not use CSS display: none;)
- Aria land mark roles are easy to add to your HTML and go along way to improving the accessibility of your website.
- Total validator browser plugin - free!
- Juicy studio accessibility toolbar - Firefox plugin
- The Accessibility Project
Stop multiplying by 4: Practical software estimation - Chuck Reeves
- This talk focused on the industry joke about doing an estimate and them multiplying that number by four before telling your boss.
- Eye opener: Up to 20% of the time it takes to do a project should be spent doing requirements (EX: a 100 hour project would need as much as 20 hours to do the requirements)
- Even a simple contact form's requirements should not be taken for granted, it's more complicated than you think.
How We're Failing to Secure the "Internet of Things" - Mark Stanislav
- "Internet of things" devices refer to devices in your home that communicate and are sometimes controlled over the Internet.
- There is a serious danger of attackers penetrating through these devices because nobody is securing them, there are no standards.
- Who knows who has access to your network through these devices through proxy connections?
- Consumers trust the manufacturers to put the proper safety controls and testing in place, but that is not actually what is happening.
What Have I Done? - Brent Schooley
- Great speaker, very entertaining, comfortable with the crowd.
- Good pointers on productivity
- Using the Pomodoro technique to increase focused work, employers often say they want 'multitaskers' what they want is good quality work in multiple disciplines
- Use lists that are broken down into smaller "accomplishable" tasks so you can focus on actually completing something.
- The talk was heavily focused on specific software tools, and of those, mostly for the MAC.
- Rescue time browser plugin - https://www.rescuetime.com/
Touch Me, I Dare You - Josh Holmes
- By far, our team's favorite talk of the conference
- "A great touch experience starts with understanding your user’s context and includes understanding the difference between touch and a mouse"
- Gestures and touch are changing the way we interact with the web and programs. This is only increasing with tablet and mobile use.
- Don't just design for mobile - design for how the device will be used.
- A mouse click is 1px x 1px, the average finger touch point is 42px and down, the difference is huge
- Next/Prev links for multi-page articles, use "rel='next'" for mobile to make read-friendly pages
- Use feature detection (pointers et al) not browser detection, as browsers are updating too constantly for this to still be a trustworthy manner of feature enabling
- "Hover sucks. Don't use it." - or at least, don't rely solely on it.
- Instead of mouse events, use pointer events
- Think about how your users are physically using devices
- holding with two hands, typing with thumbs
- holding with one hand, using pointer finger
- holding on lap, typing on a keyboard
- multiple points of touch at one time?
- Microsoft has a Surface that can do 100 points of touch.
The Success and Failure of Moving to a Message-Oriented Application Architecture - Jim Christopher
- Using queues rather than direct access to machines can increase efficiency and avoid lost data issues
- Recommends RabbitMQ
- Very useful in data transfer heavy applications
I Only Want to Write My App Once: Using Xamarin to Build Multi-Platform Mobile Apps - Jerrell Blankenship
- Good overview of Xamarin, it's implementation, pros and cons
- Positive: true native apps, giving users the experience they expect
- Negative: this means you need to write a separate UI for each, but can integrate with the same business layer
- Because of Apple's proprietary tendencies, you can only compile and build iOS UX on a Mac (download xCode on networked Mac/VM)
- Database info in the core, db access in app for platform-dependence (SQLLite in Android/iOS)
OOP - You're doing it completely wrong - Kevin Berridge
- Best talk I attended
- Break down objects to their simplest parts; This way they can be reused and shared
- Messages - Objects should not know where they are, other objects should now know how they accomplish what they do, just that it will get done (blind trust, context independence)
- Not Single Responsibility, Single Purpose - everything a class does should be related to this purpose, otherwise you need a new class
- Top down or bottom up? Start top down to build the system, then as you go on and see how you can further abstract and reuse classes, refactor
Creating a Plug-in Architecture in .NET - Ondrej Balas
- By creating an IoC container, one can make your application extensible using plug ins
- Implementing plug-in architecture; people can write their own plug-ins, and simply copy over DLLs, or you can release plug-ins that will add/change functionality without needing a full re-work
- Mainly for enterprise level development
Designing with CRAP - Caitlin Steinert
- This turned out to be a "Design for developers" crash course
- Book recommendation - "The Non-Designer's Design Book"
- CRAP = Contrast, Repetition, Alignment, Proximity
- Not just contrast between colors but contrast between element sizes, type styles, etc.
- Use sparingly - too much contrast can be confusing
- Don't be shy - contrast needs to be big to be effective
- Once you set up a convention for an element or module style, repeat it. Don't change the look of every element every time.
- Left, right, top, and bottom alignments are strongest. Horizontal center and vertical center alignments are weak.
- Alignment makes a non-aligned element stick out more visually. This is why tabbed navigation works so well.
- Elements that are closer to each other are perceived as related to each other.
- Elements that are farther away from each other are perceived as unrelated.
Stir Trek overall
- Packed house, but fairly well organized
- Breakfast and lunch (Jimmy Johns lunch) provided
- Atmosphere was casual in the movie theater setting,
- Good comments from audience in almost every session
- Swag! (Free T-Shirt and USB memory stick)
- Good diversity of topics
- Relatively significant number of women in attendance. Not as many as one would have hoped for, but the gender gap is slowly closing.
- Team had fun and learned a lot.
- Talks were tracked by general category (web, mobile, security, soft skills, etc) and all those track sessions were in the same theater, which made planning your day easy.
- Live coding on the theater screens was awesome.
- majority of speakers were knowledgeable in the industry, good presenters.
- No Wifi
- Some sessions' content seemed much different then the title and descriptions led one to believe.
- A small number of presenters were not very good speakers (or maybe the others were just that good).
- The movie theater seats tended to be very uncomfortable and not conducive to taking notes
- Some neighboring theaters were still playing regular movies and the loud surround sound was distracting to other speakers' sessions.
- Bathrooms cleanliness by the end of the day was let's say, "minimal".
- Hallways were crowded between talks. I felt bad for the public trying to attend a movie that afternoon, forced to navigate the masses.
Many of the things we learned, we've already begun putting into practice. Our team has been buzzing all week with the great ideas we picked up at this excellent conference. Did you attend? We'd be interested to know what you thought.