Category Archives: General

How to Work With MVPs (Minimum Viable Products)

Let’s talk about MVPs (Minimum Viable Products) and how you, as a Product manager or User Experience professional, can work with tight deadlines and budgets whilst still delivering a great product.

What is an MVP?

You’ve probably come across the acronym MVP before–almost certainly if you work in the tech industry–and despite being a controversial three-letter word, an MVP is probably one of the most important steps on your way to building a great product. The main goal of shipping a Minimum Viable Product should always be “putting it in front of customers to start validating your assumptions”.

As a team, you need to gather your strengths and focus on creating a shared understanding of the business vision and goals. You need to identify the problem you’re trying to solve and work out how you’ll organize to, as quickly as possible, start learning about what customers really want and how they’ll help you drive those goals.

The Doughnut Analogy

When I began talking about MVPs in classes, I would use the analogy of a simple plain doughnut (that would be my MVP) and a doughnut full of chocolate, sprinkles and all the goodness possible (a later iteration of the product). 

mvp doughnuts
MVP and later iteration? Doughnut icons from Diana Toma

Nowadays, the more I work with teams and the concept of MVP, especially now that I have a Product role, I find myself questioning this analogy. Building MVPs to validate assumptions may in fact mean that you were wrong to start with, and the next iteration isn’t even a doughnut; perhaps it’s a plain waffle?! Granted, it would still be plain, and you’d again need to go through the process of validating it, but it would no longer be a doughnut.

So…What Isn’t an MVP?

For this I’m going to borrow an illustration from Henrik Kniberg, explaining what an MVP shouldn’t be.

mvp by Henrik Kniberg
by Henrik Kniberg

Henrik describes two different approaches that share the same vision: a car. Now if the problem you’re trying to solve is transportation, would you, as a customer, go anywhere with a tire? Definitely not with a tire, but certainly with a skateboard.

Henrik defends the agile, incremental way of delivering products but states that every iteration should be a usable/testable product. Obviously, a skateboard is far from being a car, but at least you have your customers trying your product much earlier in the process and feeding back so you can start learning and thinking about the next iteration.

You shouldn’t be spending a lot of time looking at design or making it technically great – you don’t want to make it perfect to begin with, but instead you should build just enough to validate your business hypotheses. 

To Sum up, an MVP Isn’t..

  • A product that can’t be used and tested by customers or early adopters from day one.
  • A product that doesn’t allow you and your team to learn and validate assumptions.
  • A product that isn’t solving (or trying to solve) customer problems.

In This Article

In this article, we’ll cover the following topics–they’ll give you some tools to start thinking about what your MVP should be:

  • Focusing on solving customer problems
  • Strategizing on building an MVP to start with
  • The importance of tagging
  • Learning with data and insights
  • Iterating

Focusing on Problem Solving

Ultimately, when building products, your main goal should always be solving customers’ problems. If you’re not solving their problems, and you’re not bringing something new that fits in with their daily routine, they most likely won’t be using your product. With the surge of design techniques, UX teams are gaining tools to get to know customers and get to the bottom of what they want earlier in the process.

There are a number of techniques you and your team can use to get to know your customers, and understand how you can solve problems:

  • Focus groups. If you’re building a new product, invite a group of people that are using your competitors’ products and ask them about pain points, plus things that they really like, and try to get a good understanding of what they’d change and why. If you’re improving an existing product or adding a new feature, why not invite your own customers and ask them the same questions? Focus groups are a great start for developing a good understanding of what your customers may want from your product, but bear in mind focus groups can be a bit biased; there’s always someone with really strong opinions that may influence others, so you should try to read in between the lines.

  • Ideation workshop. Gather your team (stakeholders included) and expose some of the pain points found. You should also try and print as much as you’ve learnt so far about the defined vision and business goals and pin these up on the walls so everyone can clearly see them. In these sessions, ask everyone to sketch as many solutions as they can think of for the problems you’re trying to solve. You’re looking for quantity, not quality.

  • Prototyping and user testing. Ideally, you should be prototyping at least once a week. Nowadays, UX teams are more agile and UX designers tend to spend more time sketching and user testing paper prototypes or low fidelity wireframes than spending longer periods of time behind a computer making decisions on their own. Get your UX team to use prototypes as early as possible in the process to get some juicy feedback from users. Guerrilla testing is a great and effective way of testing early designs and it takes almost no effort.

Strategizing on Building an MVP to Start With

So, you did a lot of testing while trying to design the best solution. You ran weekly guerrilla sessions, you took your designs to the lab and you’re confident you’re on the right track.

Still, even if you’ve only tested with users of your product, they’re a small percentage of your audience and they were subject to a testing environment (hardly neutral). Testing with customers earlier in the process is invaluable, but you’ll want to get your product out there for a bigger audience to test.

Strategizing on building and launching a Minimum Viable Product is the next best thing to validate your assumptions and continue building up on what you’ve learned so far.

A good way to start thinking about your MVP, is to look at the roadmap you’ve built in previous sessions and focus on things that solve customer problems.

Once you’ve done this, ask the question: what can I build with the minimum effort that helps me validate this product?

This is where I still struggle; my UX heart (body and soul) always tells me to try and get as much out as possible, I want to build a seamless experience from day one, for every user.

As a product owner, with a tight deadline and a budget on my hands, I want to build just enough to make sure we are building the right thing, and I truly believe this is a good product call.

The Importance of Tagging

Nothing. Can go out. Without tagging. 

Well we’ve said it before, right? The goal of building an MVP is to learn and iterate. There’s no way to learn (I mean to really learn) with your customers unless you have a system in place that allows you to track what customers are doing with your product. You need that precious data to make informed decisions. You can do qualitative research and ask your customers how they feel about your product, but we know this may not be enough.

You’ll need to make sure you build tags into your MVP that will help you understand how your product is performing against your KPIs (Key Performance Indicators) and measure your assumptions.

Analytical (or tracking) tags are often supplied by third party providers such as Google Analytics to help us integrate our product (website, mobile app) with their tracking tools. Tracking tags are no more than a piece of code that you’ll have to embed in your product’s source code to send whatever customer actions you want to track and make it easier for you to visualize data.

Let’s say you want to track the number of times a certain button is clicked; the provider will ask you to add an event tag to the button’s source code to make sure a tag is fired to their tool every time a customer clicks that button. Their tool will then register this action along with other actions you define to give you a detailed view of what customers are doing with your product.

There is a range of tools you can use to track your customers online. Start by choosing the right one for you and your business needs, and liaise with their customer service team to get some help building tags into your product:

Learning With Data and Insights

Once tracking is in place and your MVP is out, you can start looking at what your customers are doing with your product.

If you’re new to analytics, there are a few things you can do to get your head around data and what you should be looking at. Google has a few introductory videos to get you started, and you can also read the book Lean Analytics. These will help you understand actionable metrics and what to do with the data you’re getting.

If by any chance you’re lucky enough to have a team dedicated to insights in your company, they’ll be able to help understand the data or even better! They’ll most likely be able to build reports with the key metrics you want to follow to make your life easier.

Whatever the means are for getting this data to you, the whole team should have access to it. You should all be discussing the outcomes and what’s next for your product. How’s customer satisfaction? Is it driving the goals you’ve set?

If the answer is yes, then great news! Your previous assumptions were right and you did a great job. If on the other hand your MVP isn’t driving the metrics you expected, understand why and agree on what you should be doing next (also, say grace that you decided to launch an MVP before allocating tons of resources and money to a product that wouldn’t have been as successful as you initially thought it would).

Multivariant Testing

If your customer base is good enough, you should encourage A/B or Multivariant testing. This will allow you to, throughout the life cycle of your product, to test different variations and make sure you keep driving those metrics.

You can make changes to your interface and see what works best for your customers – try small changes like changing the copy on a title, or a button color, and have two versions of your product running side by side to analyse results. You could also completely change an interface; Optimizely is just one example of a tool that can help you run these experiments. Set the parameters you want to test and the percentage of customers you want to show the new version of your page or product, and track results.

Go Forth and Iterate!

It’s time you started iterating and building on top of what you already have. Ideally, your roadmap is prioritized by now and in a way that you can continuously release product increments. Now is the right time to start mobilizing your team to think about the next drop.

Remember, each iteration of your product should be usable (the “viable” in MVP). It should seek to validate or challenge your assumptions, and in a way which gives you measurable data. Good luck using MVPs in your product development workflow!


Source: Webdesign Tuts+

15 Best WordPress Event Themes: For Conferences and More

Conferences and networking events are one of the best ways to promote your business and establish relationships with potential clients as well as business partners.

An essential part of any successful event or conference strategy is setting up a website to promote it and to create a resource that explains all the benefits of signing up for your event.

Why You Should Use an Event Theme

Even though you may already have a website for your business, setting up a separate website for your event has a couple of important benefits:

  • It gives your visitors a single call to action to focus on, which increases sign-up rates.
  • It reduces the chances of your visitors getting distracted by a page or a post that has nothing to do with the conference you’re trying to promote.

By creating a separate website, you will be able to build anticipation and excitement for the upcoming event. And selecting the right theme for your event plays a crucial role. In this theme showcase, we feature our best-selling WordPress themes made specifically for event websites

Best WordPress Event Themes available for sale on Envato Market ThemeForest
Best WordPress Event Themes, available for sale on Envato Market (ThemeForest)

A good WordPress events theme will have an appealing design and it will also make it easy to publish useful information for your attendees, such as the event location, session schedules, speaker profiles, as well as the ability to manage registrations and mobile responsive design.

Best-Selling WordPress Event Themes 

If you need to build a website to promote and support an event of any type, choosing one of the themes from this collection will give your project a great head start. Here’s our current top 15, one of which is sure to pique your interest:

New: Event Champ

Released for sale earlier this month (at time of writing) Event Champ comes with so many features and add-ons that it’s not possible to list them here. Its event finder is great for any multi-event website, allowing for category, keyword, location-based (and so on) filtering for whatever event you can dream of. Check out the details for more information about what’s in the box.

Event Champ  Multiple Events  Conference WordPress Theme
Event Champ – Multiple Events & Conference WordPress Theme

2. Ventcamp

Recently updated, VentcampWP is a very complete package; shipping with a range of custom contact forms, a schedule manager, speaker and sponsor sections, and comes with integration for the most popular eCommerce (WooCommerce and FooEvents, EventEspresso, Tickera) extensions to handle tickets sales. Its default homepage displays a very tight business theme, but it also comes with some great alternatives if you’re looking for a different aesthetic.

Ventcamp - Event and Conference Theme
Ventcamp – Event and Conference Theme

3. Eventum

First on the list is Eventum, a stylish multipurpose WordPress event theme that is perfect no matter what type of event you have in mind. This highly customizable theme offers all the essential features for an event website: managing tickets, venues, speakers, sessions, sponsors and everything else required to have a successful event. 

Additional features include five homepage variations, event countdown, integration with Google Maps and MailChimp, four color schemes, and a Visual Composer Builder that allows your to take your website to the next level.

Eventum - Conference  Event WordPress Theme
Eventum – Conference & Event WordPress Theme

4. Meetup

Meetup is a simple and easy-to-use theme with a clean and elegant design and plenty of features. It offers five different homepage layouts, all of which have plenty of sections for speakers, an event schedule, FAQs, a registration form, and a location map. Pre-built page templates include a separate blog page, gallery page, speakers page, parallax backgrounds on any page and the ability to include a video background. 

Other features include thorough customization options thanks to Visual Composer Builder, unlimited color schemes, support for Google Fonts, and responsive design.

Meetup - WordPress Conference Event Theme
Meetup – WordPress Conference Event Theme

5. Eventime

Eventime is a modern, multipurpose WordPress event theme with an impressive feature set. The theme includes three different demo designs which can be easily imported with one click and dedicated support for speakers post type, schedule post type, event countdowns, location maps and integration with Revolution Slider to make a great first impression on your visitors. 

Eventime also includes support for Google Fonts, Visual Composer Builder, WooCommerce, the ability to sell tickets, responsive design, and much more.

Eventime - Conference  Event Ticket Store Theme
Eventime – Conference & Event Ticket Store Theme

6. Venue X

Venue X is a simple events theme for WordPress that’s perfect for small scale event venues, concert halls, arenas, theaters, and centers. With this theme, you can create, list, and organize events. Also, readily sell tickets, showcase galleries, news, and media. You can create a full-blown website or a simple one-page website, depending on the size of your event. 

This theme’s features include responsive design, unlimited color schemes, Google Fonts support, page builder with 28 fully customizable blocks, and a unique header builder with more than 40 header options to make an eye-catching design.

Venue X - Simple Events WordPress Theme
Venue X – Simple Events WordPress Theme

7. iVent

iVent is a responsive, multipurpose WordPress conference theme built for any kind of event, summit, meetup, workshop, or music festival with integrated ability to sell tickets for your event. iVent has a very elegant, modern design and features different sections for speakers, event listings, countdown, and schedule. 

This theme comes with plenty of advanced features which include five homepage variations, two custom post types, compatibility with Events Calendar Plugin, Live Theme Customizer, and is SEO Friendly. It also includes support for WooCommerce, Slider Revolution, Visual Composer, and other popular plugins. The icing on the cake is the extensive custom shortcodes which allow you to develop attention-grabbing, interactive content.

iVent - Multipurpose Event WordPress Template
iVent – Multipurpose Event WordPress Template

8. Electron

Electron is a perfect theme for anyone looking to organize a music event. It has a bright and minimal design that includes pre-built page templates for all the important pages of your website as well as a landing page, sales page, and a customer support page. Electron has a variety of design options which include a page builder, unlimited color schemes, integration with Tickera events and Eventbrite events. 

With two attractive menu styles, homepage demos, dedicated sections for event listings, highlights, and speakers, Electron is sure to bring all the right attention to your musical event.

Electron - Event Concert  Conference WP Theme
Electron – Event Concert & Conference WP Theme

9. Event Management

The Event Management WordPress Theme makes it easy to organize multiple events such as conferences, exhibitions, trade expos, award ceremonies, annual functions, seminars and many others.

The theme features an elegant design focused on bringing attention to key details such as event schedule, speakers, event countdown and location. What’s more, this theme allows you to easily sell tickets, handle registration, and keep attendees updated via dedicated photo galleries and a blog section. This theme is fully responsive and includes plenty of customization options, two homepage variations, grid and list view of events, and much more.

Event Management - WordPress Theme
Event Management – WordPress Theme

10. Eventer

Eventer is a modern and interactive theme with a high focus on encouraging visitor engagement. The theme features a responsive design that’s easily customizable, registration forms, an da theme customizer. 

It includes a variety of sections on the homepage, such as an event timeline, speakers, location, reservation information, testimonials, and a sponsors section. Grab this theme to make a professional event site and start getting attendees registered.

Eventer - WordPress Event and Conference Theme
Eventer – WordPress Event and Conference Theme

11. Unica

Unica is a WordPress event theme with a festive and elegant design. It’s perfect for corporate events, weddings, and any other type of social gathering events. Unica features easily customizable design with four different homepage layouts, built-in Revolution Slider, Essential Grid, PO Composer, and Visual Composer Builder. 

Other features include custom widgets for Instagram and Flickr, testimonial section, gallery section, custom shortcodes, ad section and more. Use this theme to build your event website to help get your group together for your special gathering.

Unica - Event Planning Agency Theme
Unica – Event Planning Agency Theme

12. iEvent

iEvent is a versatile WordPress event theme that gives you the option to create a one-page or a multi-page website, depending on the size of your event. This theme has a modern and professional design suitable for any type of event or conference. 

It’s fully responsive and offers seven different homepage styles, 10+ header styles, and unlimited color and font combinations to build just the event site you’re aiming for. 

Thanks to the Visual Composer Builder you can build any type of layout for your pages while the interactive exhibition map and event schedule will catch your visitors’ attention. 

iEvent - Event  Conference WP Theme
iEvent – Event & Conference WP Theme

13. The Meetup

The Meetup is a conference and event WordPress theme with powerful features like Event Management, Speaker Management, Team, Organizers and Sponsors management. This theme offers the ability to have video and parallax backgrounds, intelligent section management with 35+ different sections to choose from, unlimited color schemes, built-in shortcodes, several different blog and event styles, and much more.

TheMeetup - Conference Event WordPress Template
The Meetup – Conference, Event WordPress Template

14. Meeton

Meeton is a WordPress theme suitable for companies as well as event management websites. It features a clean and elegant design with responsive layout and special features like appointment forms, services, event planner, schedules, pricing plans and other pages.

Meeton offers three homepage layouts, five different speaker layouts, plenty of customization options thanks to the theme options page as well as Visual Composer Builder, and integration with the Timetable Responsive Schedule plugin. Use this theme to build your event website and launch your next conference or meetup.

Meeton - Conference  Event WordPress Theme
Meeton – Conference & Event WordPress Theme

15. TheEvent

TheEvent is an easy-to-use theme with event management features, speakers, schedule, FAQ, registration, booking, and an online ticket system. This theme has a responsive design that’s fully customizable via the theme control panel and Xpress page builder. Y

TheEvent comes with multiple homepage variations, PayPal integration, MailChimp integration, cross-browser compatibility and fast loading times. On top of that, TheEvent supports a variety of widgets to save you tons of time with content building. ou can create a great event site with this theme!

TheEvent  Event Management and Conference WP Theme
TheEvent – Event Management and Conference WP Theme

Best Practices for Event Websites

When it comes to building a WordPress event website, choosing a professional WP event theme, and then installing your chosen theme is not enough. Aside from making sure your website is responsive and loads fast, there are several different things to keep in mind to ensure your event is a complete success.

The goal of your event or conference site should be two-fold:

  1. Create awareness for your event
  2. Capture ticket sales

With that in mind, here’s our list of best tips and practices for event websites:

1. Insert the When and Where In Plain View

Even though some of your website visitors know when and where your event is taking place, it’s safe to assume that the majority of them have no clue. To reduce the chances of your visitors leaving your website in frustration, it’s crucial that you place this information front and center, as well as include a sign-up button or a form. You should also include a brief tagline that describes your event like in the Meetup theme.

2. Create a Brand for Your Event

Make sure your event is memorable by designing a special logo for it and use it not only on your website, but in every social media update, and on flyers and posters to promote your event. Make sure you use consistent colors and fonts to further improve the impression of your event.

3. Have a Clean, Organized Design

Don’t clutter up your page with unnecessary elements. If you need multiple pages, then keep your menu with only the links you need for your event. Highlight your speakers, signup dates, costs and only your most important information. Present your event details in a way that’s logical for a first-time visitor who’s just become interested in your event.

4. Add Plenty of Calls-to-Action

An event page with no distinct CTA is a wasted effort so make sure to include multiple calls-to-action that clearly stand out from the rest of your website. Don’t be afraid to use a bright color like the Eventer theme does, to draw attention to your CTA – whether that’s a link, a button, or a form that prompts the user to buy a ticket, apply as a sponsor or a speaker, or simply entice them to learn more about your event.

5. Include Speaker Pictures and Bios

Great speakers can do wonders to attract visitors and attendees to your event. The event page should show their faces and list their credentials similarly to the Eventum theme. Consider creating short videos of the speakers and including them on your website.

6. Promote Your Event on Social Media With a Special Hashtag

Promoting your event on social media is natural if you want to attract as many people as possible. Be sure to include social media sharing buttons on the registration page as well as the Thank You page. 

Take it a step further by creating a special hashtag for your event and use it not only to promote your event but to connect with people before and during the event. Also, consider including a link to your event in your social media bios across different profiles.

Build Your WordPress Event Website

Organizing an event or a conference is great way to boost your credibility and form new business relationships. With one of our high-quality event WordPress themes on ThemeForest and the tips above, your event will be ready for success. 

And if you need help setting up or customizing your event theme, work with one of our hand picked WordPress developers.


Source: Webdesign Tuts+

UX Design Process: Understanding Design Fundamentals

In this article you’ll learn about design fundamentals. We’ll talk about what a designer might want to express, and the visual decisions made to communicate the purpose of a design. 

Starting Point

A
good starting point is in understanding how to
put elements together to create effective composition, in order to aid visual
communication. 

The elements are the “ingredients” of a design, and design principles guide how those elements fit together. Shape, color, size, and texture are some examples of design elements.

Putting
together elements in an effective manner has to do with understanding
several key principles in design:

1. Balance

Balance in design can be thought of as balance the
physical world. A large shape close to the center can be balanced by smaller
shapes on the edge of a page.

2. Contrast

Contrast involves putting opposites side by side (light
and dark, foreground and background, etc). It creates visual
interest and engagement which disrupts existing harmony in a design.

3. Proximity

Proximity creates a relationship between elements,
visually connecting them through a sense of “distance”.

4. Alignment

Alignment allows us to create order and unity. Aligning
elements visually connects them with each other.

5. Repetition

Repetition strengthens a design by tying together
individual elements. It helps to create association and consistency. Repetition
can create rhythm and continuation.

6. Space

Positive and negative space are very important in the realm of
design. Space is the distance or area between, around, above, below, or within
elements. 

Up Next..

Having armed ourselves with the fundamentals of visual design, in the next article we’ll look at problem solving and testing. See you there!


Source: Webdesign Tuts+

Web Development Reading List #178: On CAA, Pong.js, And Meaningful Work




 


 

Looking at recent discussions, I feel that more and more people are starting to think about ethically and morally correct work. Many of us keep asking themselves if their work is meaningful or if it matters at all. But in a well-functioning society, we need a variety of things to live a good life. The people writing novels that delight us are just as important as those who fight for our civil rights.

Web Development Reading List #178: On CAA, Pong.js, And Meaningful Work

It’s important that we have people building services that ease other people’s lives and it’s time to set our sense of urgency right again. Once we start to value other people’s work, the view we have on our own work will start to change, too. As we rely on book authors, for example, other people rely on us to be able to buy the books via a nice, fast and reliable web service.

The post Web Development Reading List #178: On CAA, Pong.js, And Meaningful Work appeared first on Smashing Magazine.


Source: Smashing Magazine

Sass to CSS: How to Preserve Whitespace on Compile

Ever wanted to keep the visual structure of your Sass files, when you compile to CSS, without losing any of the whitespace? In this quick tip I’m going to show you how!

Watch Quick Tip

 

This quick tip is for those of you who need to compile Sass to an “expanded” form. If you compile to “compressed” or “minified” then the whole question of there being whitespace is irrelevant.

The Problem

Imagine you have several Sass partials which are formatted like this, including the empty line breaks at the bottom:

Compiling them under normal circumstances would give you something like:

But let’s say you actually want the following:

The Solution

We’re going to solve things by using a Grunt plugin called grunt-replace. For details on how to get up and running with Grunt, take a look at the following resources:

We load grunt-replace, along with some other dependencies, in our package.json file as shown in the following snippet:

Then, in our grunt.js file we have to implement the task:

Match

We apply the replace task after we’ve compiled our Sass file (check out the source files for more details).

Notice the patterns option, which shows the following:

This instructs Grunt to go through the compiled file, find instances of /**/ and replace them each with an empty string. Now all we need to do is go through our Sass partials, place these /**/ comments wherever we actually want whitespace, and let Grunt do the rest:

Conclusion

Grunt-replace is a really useful task for finding common strings and replacing them with something else, whenever your run Grunt. In this case it’s the perfect tool to prevent whitespace from being stripped out of our compiled Sass. What else would you use it for?

Useful Resources


Source: Webdesign Tuts+

The Noob’s Guide to Choosing a JavaScript Framework

When it comes to choosing the right JavaScript Framework it certainly is a wild and confusing landscape out there. This guide will help you–a budding front-end developer–navigate those murky waters when the time arrives to choose a framework suited for you. Each framework I’ve chosen to showcase will describe the brief fundamentals, language syntax and also include helpful learning resources.

What is a JavaScript Framework?

In our world of development a “framework” can be defined as a JavaScript library that displays and renders data-driven, interactive interfaces. They exist to help render data to a user when an interaction is triggered. All these libraries differ slightly from one to the next, but their purpose is the same; show new data when an interaction has taken place. 

Let’s examine these powerful frameworks deeper to help us better sift through the landscape.

The JavaScript Framework Players

There are many options when it comes to choosing a framework–what follows is a list of the current terrain, including Vue, React, Angular and Ember. Each one has been selected based on community growth and sustainability, GitHub activity, length of time the project has been available to developers, and whether the project is still in use by a large group of developers and development companies.

Vue

First Commit July 27, 2013
File Size: 27.5KB minified

Vue claims to be a progressive framework that is approachable, versatile and performant. If you have a fundamental understanding of the good ol’ web stack (HTML, CSS, JS) you’re already in a great position to use Vue.

“The core library is focused on the view layer only, and is very easy to pick up and integrate with other libraries or existing projects. On the other hand, Vue is also perfectly capable of powering sophisticated Single-Page Applications when used in combination with modern tooling and supporting libraries.” – VueJS Introduction Docs

When it comes to syntax this is what the library will offer using their bare-bones “Hello World” demo:

The library will also become more expressive using “attribute values” within your markup. Here’s a more involved syntax using these attributes:

Syntax aside, Vue.js will allow for the handling of user input, building component templates, binding data to the structure of the DOM with conditionals and loops, and a “declarative rendering” achieved by a straight forward syntax loosely modeled on the Web Components Spec.

Learning Resources:

React

First Commit May 29, 2013
File Size: 7.3KB minified w/Add-ons: 11.3KB minified

React defines itself as a JavaScript library for building interfaces that are driven by dynamic data. It was developed by the employees of Facebook and is also Open Source on GitHub. You may feel a bit gross when I say you’ll author HTML in JavaScript, but unfortunately this is how React works.

Let’s look at a syntax example straight out of the React intro tutorial documentation. This example creates what React calls “Component subclasses” although it has a few different kinds of components too. The syntax for a component call is XML-like as you will notice in this HTML code:

React comes with additional options such as add-ons that are considered to be a useful set of utility modules. These add-ons include utilities that help when dealing with animations and transitions, performance profiling tools, test case helpers and much more. React documentation also recommends using React with Babel to allow use of ES6 and JSX in your JavaScript code. There’s also a handy React Devtools extension for Chrome and Firefox that lets you inspect a React component tree in your browser’s Dev Tools.

Learning Resources:

Angular

First Commit September 18, 2014 (GitHub reported)
Initial Release (According to Wikipedia) October 20, 2010
File SizeCLI Tool. No Longer a standalone JS file.

Angular is developed by the team at Google. Since HTML was never meant to be a dynamic language Angular extends the HTML vocabulary by allowing attributes to be extended in your markup. This ultimately allows “declarative bindings” to events, in order to display dynamic data and states based on interactions. You can meet large data requirements by building data models on RxJS, Immutable.js or another push-model. And you can extend the template language with your own components and use a wide array of existing components.

“Learn one way to build applications with Angular and reuse your code and abilities to build apps for any deployment target. For web, mobile web, native mobile and native desktop.”

The Angular syntax is nothing new in terms of HTML attributes and Mustache-esque placeholders, with the exception of the namespacing using ng- as you will see in the following example:

Angular is also primarily made up of components that are a combination of HTML templates and a component class that controls a portion of the screen.

The file with the extension .ts from the example above is written in TypeScript. A language that starts from the same syntax and semantics of JavaScript. It’s a superset of JavaScript that compiles into JavaScript, or what you might think of as a “language enhancer” i.e. syntax sugar. This is where the CLI tool will help when it comes time to compile your code.

Learning Resources:

Ember

First Commit Apr 30, 2011
File Size: ?

Ember is a library much like the others we’ve discussed that also integrates with Handlebars. For those not familiar with Handlebars it’s a template language to build static pages, much like you may be familiar with for Jekyll. Developers can use Handlebars to describe the markup and use JavaScript to implement custom behavior for components based on the interaction.

“Ember is a JavaScript application framework for creating single-page client-side web applications, which uses Model-View-Controller (MVC) pattern.” 

Ember is built with Node and uses a variety of Node.js modules for operation. Ember also has a command line interface tool (installed via npm if you wish) which provides a standard project structure and a set of development tools including an addon system. It also comes packaged with a development server and build environment flags that can be passed via the command-line.

Syntax for Ember looks to be nothing unusual, relying on object literals and the dot notation we are very familiar with in JavaSript, plus Handlebars for the template calls.

The sample above is a very basic taste of the syntax and file structure. The demo code will export and extend an Ember controller and compile the names from the object literal into your markup.

It’s also worth mentioning that Ember’s router capabilities allows you to stop breaking the web. You get URLs and a working back button by default with every route you create, and the API is easy to use (and familiar to those with experience in server-side web frameworks). Ember.js is free, open source and will always be as they state on their site.

Learning Resources:

Conclusion

Framework choice always boils down to personal coding preference and confidence in the project long term. If you’d like to go deeper into an X vs. Y to help make the choice Vue has a decent explanation and comparison on their site that also includes information about other libraries such as Knockout, Polymer and Riot. You might also like to take our quiz, which should help you narrow down your choices!


Source: Webdesign Tuts+

A Web Designer’s Introduction to Adobe Animate CC

What’s better than being static? Being in motion, my good friends. Motion is on the rise for the web, from simple interface interactions, to more complex scenarios and prototyping. In this article we’ll introduce ourselves to Adobe Animate, what it is, what it isn’t, and how it can help with your work as a web designer.

What is Adobe Animate?

Adobe Animate is described as being an evolution of Flash Professional; a product whose proprietary nature was doomed to the history books the moment Steve Jobs put pen to paper. 

“To more accurately represent its position as the premier animation tool for the web and beyond, Flash Professional will be renamed Adobe Animate CC” – Rich Lee, in 2015

So times change, and Adobe have changed their approach to the web as a result. 

Adobe Animate feature timeline
Adobe Animate’s feature timeline

Whether you’re new to motion, or consider yourself a veteran searching for an alternative to prototyping, Adobe Animate CC might be for you. As with all tools its purpose is specific to the person using it. This isn’t a tool everyone must use, but it’s in your interests to be aware of its presence. 

With Adobe Animate creations such as cartoons, advertisements, games, and other interactive content can be published to familiar platforms like HTML5 Canvas, Flash Player & Air, WebGL, and even Snap SVG. 

The Features

To help comprehend Adobe Animate’s capabilities I thought it would be best to list some key features I personally find interesting. The best thing about Adobe Animate is certainly the embracing of web standards. A close second is the fantastic range of exporting/publishing options, then then vector brushes, HiDPI support, 3rd party JavaScript integration and much more.

Timeline and Frames

All animations occur in sequence on what’s commonly known as a timeline. Flash developers will understand these concepts very well. This UI allows you, the developer, to manage your animations in a timeline by gaining a visual perspective of how the entire sequence fits together. Here’s a brief introduction by Adobe discussing timeline basics

Timelines can include fine-grained animations in a frame-based context. This means artists can create animations in isolation and integrate these isolated movements into a larger master timeline.

Exporting and Publishing

With open web standards finally being embraced by Animate CC, developers must still be aware of the technical limitations of the format they’re exporting to. Developers do have the option to export to the Flash player, SWF files, if needed. It’s also possible to export at multiple resolutions making it priceless for bitmap work. You can even generate a sprite sheet based on keyframes and animate through them using CSS! 

There’s no doubt that the export and publish options make it far more efficient to modernize your projects. Ship different versions of the same project without recreating your original source files from scratch by enabling the “scale content” option. Generate an HTML document for ActionsScript projects using the correct object and embed tags via the publish settings dialog box. 

The icing on the cake is you also have the ability to export to SVG.

Vector Brushes

Animate CC introduces new vector drawing tools, including vector brushes that don’t need to be converted to shapes in order to be edited. Everything you’re familiar with in Illustrator for brushes and drawing is also available to you in Animate CC. It allows you to custom-define a brush by setting parameters of the brush such as shape and even angle. Super slick if you care about quality and crisp artwork.

Bone Tool

Flash developers will be right at home with the bone tool to animate objects using “bones” chained linearly or branched in parent-child relationships; think of movements like an arm bending, a snake slithering or a leg kicking. These types of motion could take a tedious amount of time to prototype in code, but with Animate CC it can happen very quickly, making bad ideas cost less and nurturing good ideas faster. 

Armature-based motion sequences can also be included into symbols, or what are known as “instances”, which can be reused throughout your project. 

The bone tool comes with other tricks up its sleeve too. Gain realistic physical movement by integrating dynamic physics into the bones, like springness, making the motion far more realistic to the physical world.

Support for 3rd Party JavaScript

So you made a great piece of art to animate, but want to use a 3rd party helper like GreenSock, for example? Good news! You can do just that. Now from the Animate UI developers can have the flexibility they desire without feeling they reside in a walled garden with no help from the outside world. Use the latest JavaScript libraries at your disposal and get the flexibility you need for the frames in your animation.

Camera Positions and Stage Controls

Animators have complete control over how the stage (i.e canvas) is positioned. Options are  available for rotating the stage in any way, from any point you choose, such as centrally to the stage or even from the corner. Your animation can contain more dynamics too, like adding camera effects such as pan, zoom, or rotate giving your project even more realism; watch out James Cameron.

Animates virtual camera
Animate’s virtual camera

Conclusion

Tools are cool, but they don’t rule the world. Choose wisely, but choose what works for you. Tools are there to be of help not to dictate your workflow. If you’re using Animate in a project leave a comment and a link below of examples if you have some–tell us about your experience with this application. Happy animating!

Further Reading and Helpful Links


Source: Webdesign Tuts+

Web Development Reading List #170: Hamburger Alternatives, Libsodium In PHP And Choosing Profit




 


 

As web developers, we need to rely on our knowledge, and choosing solutions we’re already familiar with is often the most convenient approach to solving a problem. However, not only technology is evolving but also our knowledge of how to use it.

For a while, we thought it’s best to use base64 encoding for inlining assets into CSS files, for example, and that loading JavaScript asynchronously will make websites faster. With more evidence and research, however, we came to realize that we were wrong. We should take this as an occasion to remind ourselves to question our habits and from now on ask ourselves if the solution we have in mind for a given problem really is still the best one we could choose.

The post Web Development Reading List #170: Hamburger Alternatives, Libsodium In PHP And Choosing Profit appeared first on Smashing Magazine.


Source: Smashing Magazine

Copy If You Can: Improving Your UI Design Skills With Copywork




 


 

There’s a technique for improving one’s user interface design skills that is the most efficient way I know of expanding one’s visual vocabulary but that I’ve rarely heard mentioned by digital designers.


Copy If You Can: Improving Your UI Design Skills With Copywork

I’m talking about copywork. Copywork is a technique that writers and painters have been using for centuries. It is the process of recreating an existing work as closely as possible in order to improve one’s skill. In our case, this means recreating a user interface (UI) design pixel for pixel.

The post Copy If You Can: Improving Your UI Design Skills With Copywork appeared first on Smashing Magazine.


Source: Smashing Magazine

How to Build an Off-Canvas Navigation With CSS Grid

The off-canvas pattern is a classic approach to responsive navigation. When the viewport is small enough to warrant it, bulky navigation is hidden “off-canvas” and only brought into view when toggled. 

Today we’re going to build an off-canvas navigation, using CSS to do the toggling (no JavaScript required) and our good friend Grid to form the page structure. Here’s the full page demo of what we’re working towards.

Basic Page Structure

Let’s begin by building a basic page; we’re aiming for something like this:

Semantic page structure
Semantic page structure

This is a fairly typical semantic page structure; you’ll see that everything remains in a single column for small viewports, then the aside moves across on larger screens. The <nav> element is highlighted in blue for clarity.

Here’s our markup:

Now let’s add some visual styles and some Grid rules.

Gettin’ Griddy With it

Begin by wrapping all our structural elements in a containing element of some kind–this will be our Grid container. I’m using <div class="container"></div>

Now add some basic grid styles:

Here we’re declaring that the container should be display: grid;, that it should have a single column of one fractional unit (not strictly necessary at this point, but we’re added it to be thorough), and that the gap between all grid items should be 10px.

Next add a couple of visual styles to make things a bit clearer:

Make it Responsive

Let’s add a media query, so that when the viewport hits a certain size (let’s go for 600px) the layout changes.

So now, on larger screens, the grid declaration changes to grid-template-columns: repeat(4, 1fr);. This gives us four columns of equal width, so we then have to declare how wide we want each of our structural elements. The header, nav, and footer will all span 4 (span across four columns) whilst the section will span across just three, leaving a gap of one column for the aside to fill automatically.

Finally, some styles to alter the way the nav looks:

Here’s what we have so far:

Venturing Off-Canvas

This is a perfect example of how CSS positioning can still work on structural elements, even within a declared Grid. We’re going to grab our nav, remove it from the document flow, and position it off-canvas. The other grid items will fall into place just fine.

Begin with another media query. We already have our min-width query, but this time we only want to style elements up to a max-width. Up until our viewport reaches that magic 600px we want the nav to be positioned off-canvas:

We’ve given the nav a fixed width, positioning it left by enough to hide it completely. We used position fixed too, though you can also use absolute depending on whether you want the nav to scroll with the window or not.

You’ll also notice the transition rule, which will take effect once we build some toggle controls.

Toggling

Having made our nav disappear, we now need some controls to bring it back when needed. Let’s add a link to trigger it, and a link to close it again.

Add this to the header:

and this to the nav:

We don’t need the open link to be visible on larger screens, so we’ll hide the .toggle elements within our min-width media query:

:target

What’s important in the above links is the presence of a “fragment identifier” (the #nav in the href). These identifiers are used by browsers to navigate directly to specific elements on a page. In this case, we’re targeting whichever element matches the id “nav”, and once it’s been targeted we can style it using the :target pseudo class. No JavaScript necessary!

Add the following to our max-width media query:

That’s it! That’s our toggle.

Here’s what we have now:

You’ll need to take a look at the full page demo to fully appreciate what it’s doing.

Conclusion

And we’re done! I’ve kept styling down to a minimum so as not to get in the way, but feel free to go nuts and make this look exactly how you want. 

You may also prefer a JavaScript toggle, instead of the :target, in which case you have all the pieces in place to make that work too.

I hope you enjoyed this little Grid exercise, stay tuned for more to come!

Useful Resources


Source: Webdesign Tuts+