Blog

YIKES Co-Owners Honored with 2016 LGBT Business Leader Awards

Posted: November 10, 2016

Co-Owners, Mia Levesque and Tracy Levesque were 2016 LGBT Business Leader Award winners, presented on November 10, 2016 by the Philadelphia Business Journal. YIKES was once again on the Top 25 LGBT-Owned Businesses in Greater Philadelphia.

2016 LGBT Business Leader Award Honorees - Tracy Levesque and Mia Levesque
Tracy and Mia Levesque, Co-Owners, YIKES, Inc.

Philadelphia Business LGBT Awards 2016 | Philadelphia Business Journal LGBT Award Honorees for 2016

YIKES Adds Election Day as Company Holiday

Posted: October 5, 2016

After 20 Years in business, why not add a new holiday?

B the change It would be next to impossible to ignore the upcoming US Presidential election, but as business owners, Tracy and I both believe that business and politics should not mix. YIKES makes donations and offers in-kind services on a regular basis but not to political organizations or candidates.

That being said, we have always strongly encouraged our employees to vote, allowing people to do whatever it takes to make sure they exercise this very important constitutional right. Recently while thinking about the efforts to improve the voting process and make Election Day a national holiday, I realized as business owners, we could change our policy today!

We believe access to voting directly impacts communities. As a Certified B Corporation and PA Benefit Corporation, we incorporate into our mission the well being of people. The more people who vote, the better represented our local communities and our country.

Adding Election Day as a paid holiday allows everyone at YIKES the opportunity to vote. It also gives people time to volunteer on Election day – work at the polls, assist people who need help getting to their polling location.

We hope other businesses will join us in supporting #ElectionDayHoliday!

For more resources on voter registration, deadlines and rules, check out Vote.org, an excellent, non-partisan voter information portal that uses technology to increase voter participation.

Finally, I can’t resist ending this post with one the foundations of my education on the civic responsibility of voting.


Learn more about our sustainability efforts and B Corporation Certification.

YIKES Again Honored as Best for World – Workers

Posted: September 9, 2016

Creating Most Overall Positive Employee Impact as Evaluated by Comprehensive B Impact Assessment

On September 8, 2016, YIKES, Inc. was once again recognized for creating the most positive overall community impact by B the Change Media based on an independent, comprehensive assessment administered by the independent nonprofit B Lab. YIKES is honored in the Best for the World Workers List, which includes businesses that earned a Workers score in the top 10 percent of more than 1,800 Certified B Corporations on the B Impact Assessment. The full assessment measures a company’s impact on its workers, community, customers and the environment. The 124 winning companies in the Workers category come from 14 industries and 15 countries.

bcorp_logoYIKES would like to congratulate all the other honorees. View the entire list and see how companies are making positive changes through business.

The Workers portion of the B Impact Assessment assesses the company’s relationship with its workforce. It measures how the company treats its workers through compensation, benefits, training and ownership opportunities provided to workers. The category focuses on the overall work environment within the company through management/worker communication, job flexibility, corporate culture and worker health and safety practices. Honorees scoring in the top 10 percent set a gold standard for the high impact that business as a force for good can make on employees around the world.

Honorees are featured in the upcoming fall issue of B Magazine and on B the Change’s digital platform, bthechange.com.

Learn more about YIKES sustainability mission, including our B Corporation certification and our commitment as a Pennsylvania Benefit Corporation.


B the Change Media was formed as a partnership between B Lab, the community of B Corporations, and Bryan Welch, former CEO of Ogden Publications (B Corp since 2010). B the Change Media is a multiplatform media company whose mission is to build the world’s largest engaged audience of people with a passion for using business as a force for good. B the Change Media has editorial and operating independence and covers compelling stories about business as a force for good, not just stories about B Corporations. B the Change Media has independent investors and is a subsidiary of B Lab, the nonprofit organization that administers the Impact Assessment and aggregates the B Corporation community. B the Change Media is a Pending B Corporation.

B Lab is a nonprofit organization that serves a global movement of people using business as a force for good.  Its vision is that one day all companies compete not only to be the best in the world, but the best for the world and society will enjoy prosperity for all for the long term.

B Lab drives this systemic change by: 1) building a community of Certified B Corporations to make it easier for all of us to tell the difference between “good companies” and good marketing; 2) passing benefit corporation legislation to give business leaders the freedom to create value for society as well as shareholders; 3) helping businesses measure, compare and improve their social and environmental performance with the free B Impact Assessment; 4) driving capital to impact investments through use of its B Analytics and GIIRS Ratings platform.

For more information, visit www.bcorporation.net.

Real World WordPress REST API Usage – YIKES!

Posted: August 24, 2016

Say what now?

By now, I’m sure you’ve heard a ton of information about the new WordPress REST API coming to a future releases of WordPress. You may notice others getting excited, or gearing up for a major overhaul of the WordPress infrastructure. It’s all the rage at WordCamps over the past year, and you see articles popping up on sites like Torque and WP Tavern.

When I first heard that a new REST API was coming to WordPress, I too was excited. I didn’t know why, and I couldn’t think of any real world uses for it – mainly because I didn’t understand what it was. But I knew that it was going to be a game changer, and something that developers should at least become familiar with. As the web moves towards web applications, the REST API is going to play an integral part in the way data flows through your site. Further down the road, building out a REST API within WordPress allows WordPress to communicate with other technologies – further widening the “Internet of Things” – transforming your website into a data mine.

In this article I am going to explain what the REST API is (in layperson’s terms), how you or your agency can benefit from it, and provide a real world example or two. My goal is to provide a basic understanding of the REST API and some of its capabilities, as well as provide you with some working code that you can implement, use a starting point or as inspiration.

What is this REST API you speak of?

REST stands for Representational State Transfer and is a web architecture style. REST is essentially a method of communication between one or more web services, allowing you to send or retrieve data between sites that lie on different hosting environments. One of the benefits of REST is its decoupled architecture. This means that each component that makes up a WordPress site is completely independent of one another. This allows you to do some truly custom work – from building out custom admin dashboards to fully functional themes utilizing Angular.js or React.js.

Building out a theme with Angular.js or React.js creates a seamless website – where posts and pages load near instantly and without the need for a full page refresh – providing a much better end user experience.

Ok…But Why?

At this point, you may be asking yourself “Ok…cool…but Why?” You may be thinking, “Why fix something that isn’t broken?” WordPress works perfectly fine now, why reinvent the wheel? And you would be perfectly valid in thinking that. One of the major reasons is building out a REST API guarantees WordPress’ spot as a full fledged application platform. Here are just a few reasons why moving towards a fully RESTful WordPress is the future, and why you should consider embracing it:

  1. Removes any reliance on PHP. WordPress is built using PHP while the REST API removes the reliance of PHP altogether. This is a great thing as it opens the gates to additional developers, from other communities and languages – widening the number of active developers who have the skill and knowledge to work on the WordPress project.
  2. Decoupled Architecture. I briefly touched on this above, but with the full separation of the front end and dashboard of your WordPress sites users now have the ability to fully re-imagine the dashboard for their specific use case. Each project you work on can have a fully customized environment – allowing you to provide the best possible solution to your clients. Additionally, a decoupled front end allows for content to be served from any device or medium.
  3. True Mobile Integration. Having a way to interact with the database via a REST API will allow for a truly mobile experience. This would allow both iOS and Android developers to build out applications that interact with WordPress sites – using native languages such as Swift or Java.

Real World Examples

Now that you have a better understanding of what REST stands for, what the REST API is and why you might use it. Let’s get into some use cases in the real world. Keep in mind that you can use as much or as little of the REST API as you’d like, meaning you can construct an entire theme using it, you can expose your custom post types to the REST API endpoints, or you can use it to retrieve standard post type data for things like widgets or shortcodes.

A few themes built out using the REST API can be found on Github, built out by some popular developers:

  1. Rachel Baker – WCUS Demo Theme
  2. Roy Sivan – Angular WordPress Theme

A beautiful example of a full featured site built on top of the WP REST API, built out by Human Made LTD., can be found at ustwo.com. One thing you will notice about the site is how fast it loads, and how fast it is to switch between pages. Since the REST API is sending JSON (JavaScript Object Notation) data between the server and browser, the DOM is lightning fast to render.

Alongside your REST API compatible themes, there are a number of plugins in the WordPress.org plugin repository that are compatible in one way or another with the REST API. Some of the tools available alter the way the REST API functions (by customizing the endpoints, altering the data returned, altering the key names etc.), while others build in support to their plugins by enabling post types or taxonomies to be retrieved via the REST API. Some helpful plugins/tools to extend the REST API functionality are listed below:

  1. WP REST API Controller – This plugin, built by the YIKES Inc. team, enables a UI in the dashboard, allowing users to toggle visibility of custom post types, customize endpoints and REST API properties.
  2. WP API Menus – Expose menu items to the REST API, so you can query items and build custom menus using the REST API.
  3. WP REST API Log – Plugin which logs WP REST API requests and responses. Helpful for debugging.
  4. WP REST API Cache – Enable caching for WordPress REST API and increase speed of your application.

For a full list of compatible plugins, see WP REST API Compatible Plugins & Tools.

Extending the REST API with Custom Endpoints

We mentioned you could extend the API endpoints to allow your custom post types, registered using register_post_type(), to be accessed by API requests.

First we’re going to setup a demo post type to use as our example. We will also assign a meta field to the post type, so we can demonstrate how easy it is to expose custom meta data to those endpoints as well.

Keep in mind if you are following along with the tutorial here, you will want to copy all code mentioned into the functions.php file of your active theme. If you are unsure of how to edit that file, you can use a third party plugin to add all of this code to your theme safely. One plugin that we highly recommend is ‘My Custom Functions.’

Additionally, it is assumed that you have the WP REST API (version 2) plugin installed on your WordPress site. Without the plugin installed and active, you’re not going to be able to properly access the post type data using the REST API endpoints.

After you add the above code to your themes functions.php file, refresh the admin dashboard, and you will see a new menu item in the left hand side ‘Sample Post Types.’

Screenshot:
sample-post-type-menu-item

Next, we will want to create a new meta box and a new field to assign to our post type. We will use a standard text input field, but this could really be any type of field you want. Copying the following block of code will generate a new metabox

The following block of code will define our new metabox, and assign it to the ‘sample_post_type’, that we created in the previous step. Additionally, we will include a function to include the saving of the metabox data. Again, you will want to copy the entire code block below directly into your active themes functions.php file, or into the ‘My Custom Functions’ plugin.


sample-post-type-metabox

Now that we have a sample post type setup with a custom meta box and some meta data to work with, we can continue with adding our post type and meta data to the rest api endpoints so we can properly retrieve the data.

Expose the Post Type

Now we will need to hook into the WP REST API plugin, and use the built in action hooks to add our post type the list of available post types. The documentation on the WP REST API site is great for outlining the process, if you want some additional reading.

You can copy and paste the following block of code into your themes functions.php file. If you are using the sample post above, copying & pasting will work just fine. If you have your own custom post types you have defined, you will want to populate the $post_type_array with all the post types you’d like to enable in the REST API.

Once you’ve added the above code block to your themes functions.php file – you should then be able to access the custom post type via the REST API. If you were using the post type outlined above, your new endpoint would be http://www.example.com/wp-json/wp/v2/sample_post_type but if you were using a different post type, the path at the end of the URL would be different and would end with the post type name. For example, if your post type was ‘jobs’ your end point would be http://www.example.com/wp-json/wp/v2/jobs.

It’s important to note that you can customize the base of the URL in the function above. If you wanted to alter the rest_base, you would just need to change $wp_post_types[$post_type_name]->rest_base = $post_type_name; to something other than $post_type_name.

Viewing the end point for our custom post type, you will notice that our custom metabox/meta data isn’t listed with all of the other data. You will see some of the standard data such as the post ID, date, date_gmt, modified, modified_gmt, slug, type, link, content etc. But our metadata is no where to be found.

In the next step, we will add our metadata to our custom post type end point – so we can access the custom meta data for each individual post.

Expose Custom Metadata

Now we will hook into the WP REST API action rest_api_init, where we can define a new field to add to our API response. In our case, we will add ‘sample_post_meta’ to our response, so we can retreive the data assigned to each post for our custom, sample, metabox we created above. The following code snippet can be copied right into your themes functions.php file, and if using the examples above, will start working. If you are using a different post type, you will want to change “sample_post_type” in the code block below to your respective post type. If you have multiple post types, you will want to use register_api_field multiple times.

The second thing to tweak is “sample_post_meta“, which should be equivalent to the name of your meta field that you created in the steps above. This should be equivilent to the meta name if you were going to use get_post_meta() to get the meta data. In the example above, the field name is ‘sample_post_meta’.

You should now be able to visit the custom endpoint we enabled, http://www.example.com/wp-json/wp/v2/sample_post_type , where you will see the new field ‘sample_post_meta’ and it’s associated data available for us to use. Keep in mind this technique can be used for any post type you have on your site, as well as any associated meta data.

Screenshot:
sample-post-type-api-request-custom-meta-data

If you are not familiar with coding, but need to expose custom post types and it’s associated meta to the REST API, you may want to check out our WP REST API Controller plugin, which allows you to toggle on/off the custom post types and each piece of meta data assigned to those post types – without ever touching code or your theme files.

Wrapping Up

While the examples outlined in this article weren’t earth shattering, you should now have a firm grasp on how you too can expose your post types and associated meta data to the REST API. Maybe you have a better idea of how you can integrate the REST API into your projects, or just wanted to learn more about the inner workings of the REST API. Either way, as we move towards a more fully featured REST API, and it gets included in core, you will really start to see things pick up in popularity and begin to see many many more sites integrating with it, for numerous reasons.

Full Code Block

Below you will find a complete listing of all of the blocks of code outline above. The code below can be copied and pasted directly into your themes functions.php file, where things will just work out of the box. You can use the code below as an example or a starting point for your projects.


<?php } /** * Same the metabox data */ function sample_post_type_metabox_save( $post_id ) { if ( defined( ‘DOING_AUTOSAVE’ ) && DOING_AUTOSAVE ) return; if ( ! isset( $_POST[‘sample_post_type_metabox_nonce’] ) || ! wp_verify_nonce( $_POST[‘sample_post_type_metabox_nonce’], ‘_sample_post_type_metabox_nonce’ ) ) return; if ( ! current_user_can( ‘edit_post’, $post_id ) ) return; if ( isset( $_POST[‘sample_post_meta’] ) ) update_post_meta( $post_id, ‘sample_post_meta’, esc_attr( $_POST[‘sample_post_meta’] ) ); } add_action( ‘save_post’, ‘sample_post_type_metabox_save’ ); /** * Add REST API support to an already registered post type. */ add_action( ‘init’, ‘enable_post_type_rest_support’, 25 ); function enable_post_type_rest_support() { global $wp_post_types; // Populate with post types you want enabled $post_type_array = array( ‘sample_post_type’, ); // Loop over our post type array, and enable the post types foreach ( $post_type_array as $post_type_name ) { if( isset( $wp_post_types[ $post_type_name ] ) ) { $wp_post_types[$post_type_name]->show_in_rest = true; $wp_post_types[$post_type_name]->rest_base = $post_type_name; $wp_post_types[$post_type_name]->rest_controller_class = ‘WP_REST_Posts_Controller’; } } } function slug_get_post_meta_cb( $object, $field_name, $request ) { return get_post_meta( $object[ ‘id’ ], $field_name ); } function slug_update_post_meta_cb( $value, $object, $field_name ) { return update_post_meta( $object[ ‘id’ ], $field_name, $value ); } /** * Register our custom end point to expose our metadata */ add_action( ‘rest_api_init’, function() { register_api_field( ‘sample_post_type’, ‘sample_post_meta’, array( ‘get_callback’ => ‘slug_get_post_meta_cb’, ‘update_callback’ => ‘slug_update_post_meta_cb’, ‘schema’ => null, ) ); });

As always, if you run into any issues or have any questions, feel free to leave us a comment below and we will help out as soon as we can.

I hope you enjoyed this overview of the WP REST API, as well as some of it’s features and code examples. Now go build something cool!

Article Resources

  1. WP REST API v2 Documentation Site
  2. WordPress Plugins Repository
  3. Torque Mag | REST API
  4. WPMU DEV | WordPress REST API
  5. REST API Definition
  6. WP Tavern | REST API Powered Example
  7. Human Made LTD.
  8. Us Two | WP REST API Site Example

Disability Etiquette

Posted: June 9, 2016

Often when people think of diversity race and sex are the only things that come to mind. But diversity is much more varied than that (see what I did there?). Diversity also includes gender, ethnicity, sexual orientation, culture, emotional intelligence, income and physical ability.

Here at YIKES, diversity is a very important part of the company. From sponsoring and participating in TechinColor and Girl Develop It events to making sure the websites we create are accessible; we strive for inclusivity in everything we do.

But there are some things that are an individual’s responsibility to learn so that they can thrive in a diverse environment. That is why I decided to attend a Disability Etiquette training presented by MossRehab. Disabilities are universal and not necessarily congenital. Someone that you meet who uses a wheelchair may have had to their entire life, or they may be the victim of a recent accident. Considering how quickly all of our physical states can change; I think understanding the best way to interact with a person that has a physical disability can help you become more empathetic towards everybody.

The session was really informative, and I would like to share with you what I felt were the most important takeaways.

  1. Don’t refer to people by their diagnosis. Instead of saying ‘Paul is Autistic’ say ‘Paul has Autism’.
  2. Always use person first language. Never refer to a person by their state.
  3. If a person is in a wheelchair; don’t touch their chair as it’s considered a part of their personal space. If they appear that they need help ask and wait for a response. An unexpected push could throw a person in a wheelchair off balance and out of their chair.
  4. When you encounter a person who is blind or has limited vision announce your arrival and departure so that they are aware of your presence. A simple ‘hello’ and ‘goodbye’ can clear up a lot of confusion to somebody who isn’t able to see their company.
  5. Aphasia is a general term for people who have difficulty speaking. If you’re speaking with a person who has aphasia be patient and let them finish what they are saying. Even if you think you know what they want to say, it’s just rude to interrupt or speak for someone who can speak for themselves.
  6. If you meet somebody with a prosthetic limb (say a right hand for example); follow their lead. Maybe a left-hand handshake or a fist bump is more appropriate. But that’s for them to decide.
  7. Do not distract or pet service animals. I know they look so sweet and docile, but they are working very hard to help somebody get through their day. Would you like it if somebody stopped you from getting your work done?

And please remember that Disability Etiquette is not just about finger wagging and watching your tongue. Technology is changing everyday making more people who were considered ‘disabled’ able. At the top of this post are the old vs new international accessibility signs. The new sign embodies ability and progress. I think that is something we should all try to embody.

 

Philly Tech Week 2016

Posted: April 25, 2016

Hello, Melanie here. Are you as excited for Philly Tech Week 2016 as I am? Last year was my first, and it was a great introduction to the Philadelphia Tech community. I’ve learned so much since then; enough to no longer be a noob, but still a ways before I can confidently say I understand all of things tech (is that even humanly possible?). Fortunately Philly Tech Week is here to help all of us learn a bit more about this constantly evolving industry.

The following are a few for events that I would love to attend. I won’t be able to attend all of the events because a lot of are at the same time. So until the technology to be two places at once is invented, I hope this list inspires you to check them out. And when the technology to be two places at once is invented, I really hope there is a preview at Philly Tech Week 😉

Diversity.

As technology makes the world smaller, respectfully recognizing all of its cultures is an important way to keep yourself informed and involved in the tech world.

Through a Prism: Why Diversity Matters in Design & Tech – 4/28/2016
Tracy Levesque, 1 of 2 super bosses at YIKES, will be a member of the panel; and will be discussing things like attracting and retaining diverse talent, and the positive impacts of having a diverse staff.

TechniCulture – 4/29/2016
A presentation from the Philadelphia Cultural Alliance about how cultural organizations can use more technology and innovation in reaching their goals.

Success Hacks: Paving Your Own Way in Tech – 5/5/2016
The PTW event YIKES is happy to sponsor and co-organize for the 3rd year in a row! This year, we will hear from presenters on what it means to be successful in the tech world and their personal story of how they got where they are today.

Art

Because, ART.

OUT OF FRAME – week long
A curated online exhibition showcasing work defined as Disruptive Tech.www.out-of-frame.net

For the Kids

With technology being a part of everyday life, give the kids in your life some early experience in working with technology, not just playing with it.

Intro to Video Production – 4/30/2016
A chance for kids in the 6th-8th grades to learn everything about TV production and being in front or behind the camera in.

Coded by Kids Community Tech Week Events – opening weekend event
An all access weekend event in rec. centers throughout the city that will provide an introduction in Coding 101. This event is all ages.

Education

Give yourself a leg up and learn some new things and skills.

Innovation in the Cannabis Industry: Technology, Medical, & Investment – 4/30/2016
Regardless of your stance on the use of marijuana, there are great business and technology opportunities that the marijuana market creates. Being in the know about it doesn’t make someone a stoner, missing out on opportunities does.

Transforming Tomorrow Today: How Emerging Technologies and Trends are Reshaping Greater Philadelphia – 5/3/2016
A discussion about how technology can change trends with sustainability, climate change, transportation and even the free market.

Getting More Done with Less – 5/3/2016
Because efficiency and resourcefulness are qualities everyone wants in an employee, friend or partner.

Dev Intro Workshops – 5/4/2016
The title is pretty self-explanatory.

#techInColor presents Success Hacks: Paving Your Own Way in Tech – 5/5/2016
Success is not a defined path with numerical steps. Learn how you can create you own successful path in the tech world. This is the third year that YIKES has co-organized and sponsored this #techincolor event!

PACT Startup Fundraising workshop – 5/6/2016
There is a lot of money out there for people who are looking to start their own business, launch their app or share their invention with the world. This session will help you find the various sources.

Career Growth

Connecting the Dots: Matching your skills to a career in tech – 5/3/2016
For people who are trying to begin a career in tech, or take their tech jobs to the next level; this session is for you

Tell Your Story: Crafting an Authentic Elevator Pitch That Works – 5/3/2016
This session will teach you how to turn your achievements and life experience into opportunities for advancement.

Local Philadelphian Interest

Startups & Spaces: Tech’s Impact on Philly’s Real Estate Market – 5/3/2016
As a homeowner in Philadelphia, it’s important to me to know where the real estate market is going and why. This event will provide more perspective into how the tech industry affects Philly real estate.

Just Plain Fun

Opportunities to socialize and network with other Techies.

PTW16 Kickoff festival – 4/29/2016
Live performances, games and being outdoors on a spring night in Philly.

Electric Philly – 4/30/2016
Electronic dance music made from video games. I love Daft Punk and Donkey Kong. Bring it!

The Rad Awards – 5/3/2016
A night to celebrate Philadelphia’s innovative and inspiring women.

Hive76’s Retro Gaming Night – 5/3/2016
Like I said I love Donkey Kong. I also love Crash Bandicoot, Sonic the Hedgehog and Wario. I hope I have a chance to play all of my favorite old school games.

#PTW16 Cinco De Mayo Block Party – 5/5/2016
This party will be about more than just tequila. Think tequila and tech and networking.

Philly Tech Week Signature Event – 5/6/2016
Last year’s event at Comcast was a great time. This year’s event will be at the Naval Yard, which is a beautiful venue.

Techies Who Brunch – 5/7/2016
Even if you feel all networked out by the end of the week, the food at Cuba Libre is delicious. Grab your business cards, put on a nice smile and enjoy some tapas.

YIKES Receives B Corporation Recertification

Posted: March 14, 2016

As YIKES celebrates our 20th anniversary this year, we are honored to announce our successful recertification as a B Corporation. Since 2010 we have been committed to the ideals that the businesses have the power to make the world better.

Since 1996 our goal as a company has always been to build a company that balances the importance of community, environment, transparency, accountability, and excellence.  We believe that this balance, and not just bottom-line, is what makes a successful business.

As a Certified B Corporation AND a PA Benefit Corporation, we are grateful to be a part of a growing community of like-minded businesses dedicated to social change and to redefining what success means for business.

We recognize the potential to participate in creating a way for businesses to leave a positive environmental footprint and are excited to be a part of an international movement toward responsibility and sustainable practices. Becoming a B Corporation further solidifies YIKES, Inc. position in the marketplace as an socially-conscious organization.

Certification is a rigorous process, and we are proud to once again measured up. We encourage people to learn more about B Corporations.

Diversity is a Benefit

Posted: March 10, 2016

Last week I spoke at PressNomics, a conference for businesses, entrepreneurs, freelancers and other folks who work in the WordPress ecosystem. My presentation, called Diversity Works, was about the lack of diversity problem in the tech industry.

My talk covered why we should be concerned, why we have a lack of diversity, and what we can do about it. One concept I touched on was:

Diversity ≠ Low Quality | Homogeneity = Less Quality

I want to to elaborate on a key point I was unable to squeeze into my 30 minute talk. In an interview with Bloomberg, Sequoia Capital Chairman Michael Morit was questioned about the lack of women VCs at Sequoia. he said:

In fact, we just hired a young woman from Stanford who’s every bit as good as her peers. And if there are more like her, we’ll hire them. What we’re not prepared to do, is to lower our standards.

-Michael Moritz

Jessica Nordell wrote an excellent piece on what is wrong with his statement.

Now, no one had asked, “Are you willing to lower your standards?” No: that was the question he heard when asked about hiring women. That was the association he made. Here, then, is a map of his synaptic firings: women → lower standards.

-Jessica Nordell

This connection – pursuing diversity means a lowering of standards – needs to end because it is wrong.

We need to get over this mental hurdle in order to solve the tech industry’s problem of lack of diversity. There is nothing inherent about being a member of a marginalized community that makes you unqualified. I would hope that would be obvious. 

When pushed to make your company or conference more diverse, it is not a lowering of standards but a leveling-up in overall quality.

Diversity Makes your Company / Organization / Conference Better

Research has proven there are benefits to diversity.

An organization of qualified, diverse people is better than one comprised of qualified homogeneous people.

When you have a choice between two equally qualified candidates, the person who brings more diversity to your team brings more value.

To quote my friend Marc Coleman, founder of The Tactile Group:

When we have to choose among equally qualified candidates, we choose the candidate that will best maintain our culture of diversity.

As business owners we are all looking for ways to make our companies better. Having diversity in our organizations is a proven way we can do that.

Ditch the stock photography and use your smart phone!

Posted: January 20, 2016

With all of the iPhones, Android and devices out there you can make your site look impressive and not use stock photography. Not only does using your own photos make your site look more friendly and personal, it also saves you time and money. There are even some really powerful free and relatively cheap apps to help your smartphone photos pop.

Instead of scouring around the internet for a photo that fits your website best and at the same doesn’t cost a fortune, try breaking out your iPhone or Android device. Millions of us have them in our pockets or in front of our faces right now. Cameras on iPhones and Android devices right now rival even the best of stand alone point and shoot digital cameras out there. The newest iPhones and Android devices have 4K video that even beats most DSLR cameras’ video today.

If you are taking photos with your smartphone be sure to shoot in landscape mode to grab the most of the subject as you can. Since the web is wide and responsive, the wider the shot, the more use you can get out of any photo. Now let’s talk about filters which are great. Filters can always be added after the fact but not always removed. So shoot those photos in your phones native camera app and save those filters for later. You may want to keep a copy of the original photo as well, adding the filter to a copy.

Some of those camera apps that also take photos are slow, don’t use the full quality of the cameras ability and add their on filters. If you are sending your a designer to put on your website be sure to send them the original shot unedited, this way they will have the largest format and best quality possible.

Editing Tools for iPhone and Android

The iPhone Photos app and Google Photos app already have some excellent options for touching up your photos, but here are some cool apps for iOS and Android that go even further.

VSCO Cam iOS and Android
http://vsco.co/store/vscocam

AfterLight iOS, Android, Windows Phone and Windows
http://afterlight.us

Camera+ iOS only
http://campl.us

Adobe Lightroom iOS and Android 
https://helpx.adobe.com/lightroom/how-to/lightroom-mobile.html

Not really an in depth photo editing tool for everyday use, but one of my favorite apps lately is Waterlogue. Waterlogged makes your photos look like water color paintings.
http://www.waterlogueapp.com/madewith/

How to integrate Google Maps into your site

Posted: December 19, 2015

Overview

At one point or another you’ve probably wanted to add interactive Google maps to your site. Whether it be for directions to your office, the location of an event or to display locations in the area, such as restaurants. Whatever the case may be, I’m going to walk you through the process of adding a Google Map to your site, the correct way. The WordPress way. This should be helpful to anyone building out custom themes for clients or for your own personal use.

Getting Started

Before we get started, it may help to get a better understanding of what we’ll actually be doing – and the steps that need to be taken to achieve the look we’re after. We are going to be generating the HTML markup and enqueueing the necessary JavaScript files required to initialize a map on your site. We’ll walk through each step together to get a better understanding of how to properly load the files on your WordPress site.

There are going to be five main sections to this tutorial, each step building on top of the previous one. In the first section, we’ll initialize a simple Google Map. In the second section, we’ll add a visual indicator to the map on our location. In the third section, we’ll take it one step further and display an information box above the map marker when it’s clicked. In the fourth section, we’re going to populate a single map with multiple markers. And finally in the fifth section, we’ll wrap up our tutorial with how to use our own custom map markers, instead of the default one provided by google. In a bonus section at the end of our tutorial, we’ll walk through how to use Snazzy Maps to add custom styles to our maps and give them a bit more personality.

Let’s begin!

Section 1) Initializing a Simple Google Map

Note: This is the longest section, as it requires us to load the required JavaScript files and place the necessary HTML on our site. Once this section is complete, the majority of changes to our Google Map will be done in a single JavaScript file.

Step 1: Add the HTML

map-html-in-widget

The first thing we’ll need to do is add an HTML element on the page that will be used to display our map in. This is the element that our JavaScript file is going to look for, and initialize the Google Map on. The easiest way to do this, is to add the following to a ‘Text’ widget. This way our map can be displayed in a sidebar, the footer or any other widgetized area of our site. But the following HTML code can also be used in posts, pages or in theme template files.

Ideally you’ll want to add the height declaration into the style.css file of your active theme, but for brevity I added the styles inline on our map element.

Map HTML Markup
<div id="map" style="height:350px;"></div>

Step 2: Load the JavaScript file

To begin, we’ll need to enqueue the required JavaScript file from the Google CDN. When we enqueue a file in WordPress, we’re telling WordPress to load the file on our site, in the appropriate location (header or footer).

Depending on where the map will be displayed on your site, you can alter the follow function to your needs with conditional statements. In this tutorial, I’m going to assume that the map will be displayed in the footer of your site, thus we’ll have to load the required JavaScript file on every page of our site.

The following function can be added to the bottom of the functions.php file of your active theme.

Once added, go ahead and save the functions.php file.

Step 3: Create a custom JavaScript File

Now we’ll need to create a JavaScript file which will house all of our Google Maps settings. This can reside in the root of your theme inside of a ‘js’ directory. (eg: wp-content/themes/theme-name/js/).

Remember to give this file an appropriate name so in future we know what this script does. I’m going to name it google-maps-init.js, and place it in the directory path mentioned above.

Inside of the new JavaScript file, google-maps-init.js, we’ll first just write an alert. This way when the file gets loaded in the browser, an alert will trigger, and we’ll know that our JavaScript file has loaded properly. Add the following to your JavaScript file, and save it.

Now we’ll need to enqueue the JavaScript file we just created after our Google Maps script, from the previous step. Building onto the function above, you’ll want to enqueue the JavaScript file we just created like so:

You’ll notice that in the new line of our function, we’re passing in a third parameter, an array. The third parameter let’s WordPress know that we want to load google-maps-init after the google-maps-api script has fully loaded. This ensure that when we go to initialize the map, the Google Maps JavaScript file exists and all of the functions we’ll need are there and available to use.

Once you’ve updated the the function inside of functions.php, go ahead and refresh your site. You should see an alert box popup stating ‘google-maps-init.js is ready’. Now we’re ready to initialize the map.

Step 4: Initialize the Map

Now that we’ve generated the necessary HTML on our site, and loaded the required JavaScript files in the order we need – we’re ready to initialize the map.

Inside of the custom JavaScript file, google-maps-init.js, we can delete the alert since we now know our file is loaded properly on our site. After deleting the alert, we can now add the following to our .js file:

The first thing you’ll notice is that we’re passing in Latitude and Longitude values to the center argument, which will be our location. Google Maps uses the latitude and longitude values to pin point a location on a map. You may be wondering ‘How do I find those values for my location?‘. Well, there are a number of ways, but the easiest and quickest that I’ve found is using the Latitude and Longitude lookup tool.

You can quickly find locations by address and copy and paste the values into the JavaScript function above, inside of our google-maps-init.js file.

You’ll also notice the zoom argument passed into the initialization function. This allows us to set a default zoom value. The possible values range from 0-18, 0 being completely zoomed out and 18 being zoomed in as close as possible.

You can now save the file, and refresh your site. You should now be seeing a fully initialized Map of your location in the sidebar or footer of your site (depending on where you added the HTML from step 1).

Section 2) Adding a Marker to Our Map

Now that we have a working Google Map on our site, the next step most people will want to take is to add a marker to the map. The marker is a simple visual indicator, representing our location. But we can add additional features to the marker, so that when it’s clicked – details about the location display in a small window above the marker. Let’s go ahead and do that. We’ll be working inside google-maps-init.js, created in the section above. First we’ll add our map marker. Our new google-maps-init.js will look like:

Our new section is now prefaced with the comment ‘Map Marker’. The first argument for our marker is the position of the marker. This is going to be the exact same value as the center argument in our Google Maps init function above. This ensures that our marker displays on top of our set location. The next parameter, map, we simply pass in the map object created above. This allows us to specify which map on our site we want the marker displayed on. For this tutorial, we only have one map so it’s pretty straight forward. The title argument is the text that displays on marker hover. This is the same as the title attribute on an anchor tag. Finally, I’ve added an animation argument. This is optional, but add’s a nice subtle touch to the map. When the map is generated and displays, the map marker will animate so it looks like it’s ‘dropping’ onto the map.

After you’ve made alterations to the map marker for your specific implementation, you can save the google-maps-init.js file and refresh your site. You should now see the map marker displayed on your map. If you hover on the marker for a second or two, you’ll see the text in our title display.

Section 3) Adding an Info Box Above the Marker

In this section we’re going to add a small popup above the marker with some additional details about our location. We’ll alter google-maps-init.js to reflect the following:

This is the YIKES Inc. main offices, located in the beautiful Fishtown section of Philadelphia, PA.

‘, }); // Map Marker var marker = new google.maps.Marker({ position: {lat: 39.968887, lng: -75.133297}, map: map, title: ‘YIKES Inc.’, animation: google.maps.Animation.DROP }); // Add event listener for the Info Box marker.addListener(‘click’, function() { infowindow.open(map, marker); }); });

We’ve gone ahead and added two additional sections to our JavaScript file. The first is commented with ‘Info Box Content’, and the second with ‘Add event listener…’. We first define a new variable called infowindow, which defines an InfoWindow object on our Google Map. The content parameter is the content of the InfoWindow. This section accepts standard HTML markup to display and style the content as needed. Finally we add an event listener to our map marker, so that when it’s clicked our new info window displays in a nice container above our map marker.

Go ahead and make the updates to your google-maps-init.js JavaScript file, save it and refresh the site to view our changes.

Section 4) Displaying Multiple Locations on a Single Map

Displaying multiple locations on a single map is quite similar to what we’ve written above for a single location. The only difference is that instead of passing in a single location, we’ll now define multiple locations in a single array and then loop over them to properly initialize them and display them on our map.

First let’s define our multi-location array:

You’ll notice that we’ve setup a multi-dimensional array, where each entry in the array is our location with additional location details.

Example:

  • fishtown_attractions[0][0] – Joes Cheesteak (location name)
  • fishtown_attractions[0][2] – The best cheesesteaks this side of Market Street. Do not miss out on this instant classic! (location description)
  • fishtown_attractions[1][0] – Barcade
  • fishtown_attractions[1][2] – 39.967452 (equal to our longitude for this location)
  • Once we have an array of locations to work with, we’ll need to simply loop over each location, and add it to our map. For multiple map markers on a single instance of a map, your JavaScript file should be similar to:

    ‘ + fishtown_attractions[i][1] + ‘

    ‘ ); infowindow.open(map, marker); } })(marker, i)); } });

    In the next section we’ll swap out the default map markers and define our own custom markers to use in the map. For each location type, we’ll use a different map marker to help visually differentiate between them all.

    Section 5) Using Custom Map Markers

    In the previous section we defined the locations on our map, initialized our map, setup map markers and a small info box above each location. In this section we’re going to wrap up the tutorial by defining our own custom icons for each location on the map. This is going to help our users differentiate between all of the locations by type. You can also take this one step further and create a visual ‘key’ for your users to follow – but in this tutorial we’re going to keep it basic.

    The first thing you’ll want to do is decide what icons you’ll be using for each location. Since I’ve only defined 4 locations on the map, I’m going to gather 4 different icons.

    These are the icons that I’ve chosen to use, compiled into a single image file (to show you which icons I’m using). You’ll want to leave your map icons in separate image files, which will make working with them easier.

    icon-sheet

    You’ll want to upload your images somewhere on your site. I’ve gone ahead and created an /images/ folder inside of my theme root, alongside the /js/ directory we created in an earlier section. Inside of the /images/ directory, I’ve gone ahead and uploaded the four icons displayed above as four separate images:

  • joes-icon.png
  • barcade-icon.png
  • tree-icon.png
  • bike-icon.png
  • Note: I’ve set all of my icons to 50px wide, so they appear uniform.

    After you’ve uploaded your icons to the root of your theme (or another location that you’ve specified), we’ll want to go ahead and add one more item to the end of our fishtown_attractions array. This last item will be the name of the associated icon for the given located, and will be used to display the appropriate icon on the correct location.

    Now your entire JavaScript initialization file should look like the following:

    ‘ + fishtown_attractions[i][1] + ‘

    ‘ ); infowindow.open(map, marker); } })(marker, i)); } });

    Bonus Section) Custom Google Map Styles Using SnazzyMaps.com

    Finally, we’ll wrap up this tutorial with a small tutorial on styling your maps. The quickest and most efficient way to style maps, that I’ve personally come across is a service called Snazzy Maps. Snazzy Maps is a crowd sourced site of pre-defined styles for your Google Maps. I’ve found this site to be the best because it’s going to save you a tremendous amount of time meticulously tweaking and adjusting styles. You can sort by relevance, popularity, date of upload or name, filter by tags or even filter the map styles by color.

    Once on the site, you can browse around and preview what the styles will look like when applied to your map. I generally filter by popularity to check some of the nicer styles. When you’ve found a set of map styles that you would like to use, you can click on the style to bring you into the individual style listing page where you’ll find the code we need to add these styles to our map.

    You’ll notice that the styles are defined and compiled into a JavaScript array, which is exactly what the Google Maps initialization script expects.

    As an example, let’s say that you really liked the Flat Map with Labels map styles, and want to apply them to your map. All you need to do is click ‘Copy’ in the top right hand corner of the JavaScript Style Array window. Once copied, you’ll simply need to pass them in via a styles parameter.

    Looking at the entire script as a whole, you should now have something similar to:

    ‘ + fishtown_attractions[i][1] + ‘

    ‘ ); infowindow.open(map_6, marker); } })(marker, i)); }

    And that’s all there is to it! If the styles we just added don’t fit into the look and feel of your site, you can easily select another set of styles on Snazzy Maps and quickly swap out the JavaScript array in your initialization script to tweak the styles as needed.

    Wrapping Up

    Now that we’ve gone through all the motions of setting up a Google Map in your project – I’m hoping that you now have a stronger understanding of how to utilize Google Maps to it’s full potential in your projects. My hope is that this once intimidating idea of working with Google maps, make a whole lot more sense now. That you can walk away from this tutorial (or even reference it in future) and start integrating awesome and powerful maps into your projects.

    Now go out there and Wow your clients!

    Planning for WordCamp US 2015

    Posted: November 23, 2015

    Hello, Melanie here. If you’ve been keeping up with YIKES’ weekly blog posts, then you should know that I am a neophyte when it comes to Web Development and Design. Thus far I have attended WordCamp Philadelphia in June 2015, and a Girl Develop It Class (Intro to Web Concepts) in September. I feel like they both have been getting me ready for WordCamp US – the biggest WordPress conference in the World, which will be hosted in YIKES’ home town and the city of brotherly love, Philadelphia.

    Hopefully you already have your tickets, and are eagerly awaiting for the fourth of December to roll around. I recommend taking a look at the schedule before you show up for registration because there are a lot of classes and lecture offerings. You could just wing it and pop in and out of sessions, but with so many experts and professionals on-hand to answer your questions, you should maximize this opportunity.

    The first thing one should note is that the schedule is broken up into tracks and lightening talks. Tracks A and B are full-length talks, and Track C, 10-minute Lightening Talks. You should attend the classes that speak most to the direction you want your learning to take, not which one will allow you to sit next to a friend.

    As a novice, these are the courses I am looking forward to taking:

    Friday, December 4th

    11:05am –  Communities and The Gentle Art of Verbal Self-Defense

    Because everyone should know how to shut down internet trolls without losing their cool

    11:50am – Themes are for Users

    Learn how to choose the right theme to increase the user experience for the visitors to your site

    3:25pm – Get It Right The First Time: WordPress Launching Checklist

    Self-explanatory, amirite?

    5:05pm – Designing For Those Who Matter – Your Users

    Another talk about user experience

    5:50pm – Publish in 10 Minutes Per Day

    Keep your creative juices flowing and your ideas moving forward

    6:00pm – What I Learned When My Blog Post Went Viral

    Be prepared for big things, even if your site is one of obscure nature.

    Saturday, December 5th

    9:00am – You can learn a lot from WordPress: Learning by building the Web

    Turning your WordPress practice into learning experiences

    9:45am – 10 Tips for Clean Code

    Clean code is easier to de-bug. Start off right and save time on future fixes.

    11:00am – Things you always wanted to know about WordPress (but were afraid to ask)

    Self-explanatory, amirite?

    2:45pm – Take Care of Each Other: How to Contribute to WordPress Without Writing Code

    As a code novice I don’t know the best way to contribute to WordPress, this will tell me how

    4:15pm – Explaining Hard Things to Humans: The Principles of Effective Technical Communication

    I’m attending this to learn how to best translate tech terms to layman’s terms

    The best thing about this schedule is that I will still have time to explore the other offerings of WordCamp US 2015. Opportunity maximized.

    Reflections on WordCamp

    Posted: October 26, 2015

    The significance of Philadelphia hosting the inaugural year of WordCamp US is not lost on me. I remember my first WordCamp very clearly. It was November of 2011. I was new to my job at YIKES and fairly new to the WordPress community. Eager to learn everything there is to know about WordPress, I awoke early to board the train to Temple University. As I entered the building, Tracy (my boss) was behind the registration desk holding my badge. There were coffee and donuts and … hundreds of people I didn’t know. Armed with my It’s Always Sunny WordCamp t-shirt I just received and a stack of business cards, I proceeded to mingle around the coffee table.

    My first thought was that people were so welcoming, but I also noticed that most people had computers with them. Being a less-technical person in a super-technical world has its advantages, preferring to write with a pen and notebook is not always one of them. Now panic stricken because I was without my laptop, I immediately began to think that people would notice I was a newbie. Did I stand out? Did my lack of a messenger bag or a backpack riddled with tiny pins make me look funny? (Pins are a thing in the tech community I have learned, and it’s awesome.)

    The sessions were about to start and I got seated at my desk ready to learn. As it turns out, all the preconceived notions in my head were false. I met people of various skill levels throughout the day and many had notebooks just like me. The one common thread throughout the group was the desire to learn. WordPress had brought this seemingly random, diverse group of people together. Here they were growing, learning, and creating websites that now run almost 25% of the internet. I didn’t know it at the time, but that atmosphere would become a safe haven for me.

    So here were are, four years later and I’m lucky enough to be part of the organizing committee for WordCamp US. Being accepted into this group of wonderful and brilliant people has been enlightening in so many ways. What stands out for me is that the city of Philadelphia has become part of the WordPress community. It’s part of the organizing team just as much as I am.

    The home of democracy is the perfect setting to host an event for a software with democratic principals. When the announcement was made that Philadelphia was selected to host WordCamp US, I was excited and incredibly nervous. What could Philadelphia do to thank the WordPress community for this honor? As time progressed it became a bit clearer. The answer is to give back to the WordPress community. The city of Brotherly Love can easily embrace a group of people that proclaim, “Code is Poetry”.

    Philly, get ready because WordCamp US is almost here. You can still purchase tickets and experience the same joy I did at my first WordCamp. Bring a notebook or a laptop and surround yourself with information and knowledge. Thank you for selecting Philly to host WordCamp in 2015 and 2016. We will do you proud, WordPress 🙂

    P.S. There are still opportunities to sponsor this historic event! We would love to have you!

    Easy Forms for MailChimp Plugin Gets an Upgrade!

    Posted: October 6, 2015

    YIKES is excited to launch yikesplugins.com tomorrow — a new site to showcase our awesome WordPress plugins.

    With the new site comes a brand new and improved version of our wildly successful Easy Forms for MailChimp plugin. For months we have been working on this new version, and we are excited to release the update tomorrow.

    Making the Update

    We want our current users to have as smooth a transition as possible so we have created guide to updating:

    As always, you can submit support requests for the free version of our plugin to our Github Issue Tracker, and we will respond ASAP.

    What’s new in this version?

    Completely Rewritten Code

    We make note of every support request and feedback message our users send us and have completely rebuilt the codebase to eliminate reoccurring issues. We also had the the code professionally reviewed to ensure it was the highest quality.

    “This is certainly a well-coded plugin…it’s in the top 5% – 10% of plugins I’ve seen as far as code goes.”
    Justin Tadlock, Co-author Professional WordPress Plugin Development

    Brand New Interface

    The plugin Admin has been completely redesigned with a streamlined interface.

    new-yikes-mailchimp-plugin-interface

    New Knowledge Base

    We have created a Knowledge Base full of articles with step-by-step guides on plugin installation, use, settings and developer documentation.

    New Add-Ons

    We built fabulous free and premium add-ons to extend the base functionality of Easy Forms for MailChimp. Paid add-ons also come with premium support.

    One add-on we know you’ll love is the Form Customizer. With it you can completely customize the look of your forms without needing to know any code.

    Watch this video demo if it in action.

    Visit our new plugins website to see all the free and premium add-ons available.

    We are excited to release these and more great plugins in the future.

    Baby Steps into Tech

    Posted: September 24, 2015

    Melanie here. As you may know I’m the newest member of the YIKES team, and my experience in tech before joining YIKES was pedestrian at best. I’ve never had a problem navigating my own personal path through the internet; I have a LinkedIn, Instagram, iPhone, I’m a former Facebook and Twitter user. I’ve always known which app to use to get what I wanted from the internet, and I can download and upload with the best of them.

    My role as Account Manager and Office Administrator for YIKES is to handle our clients’ accounts, make sure the day-to-day operations of the office run smoothly and ensure that the developers and web designers have what they need to get their jobs done. But how could I join such a dynamic office and not want to learn more about web design and development?

    So I’m rolling up my sleeves and diving into the world of code. Gives you the chills, no? On one hand there is a specific framework that you must master if you want what you created to work, but on the other there is virtually no limit to what you can design online. If you can imagine it, I’m sure there is a way to code it.

    So that’s the best way to begin? I’ll share with you what YIKES has given me thus far.

    Online learning:  Treehouse is a great place to begin. The courses are taught by professionals from all over the country and you can learn at your own pace, and follow your own curriculum. There are loads of reference resources throughout the videos and transcripts, and an online community to ask questions and seek answers.

    Casual classes: Meetup.com is the newest site in my vernacular. From the meetup site you can find similar interest groups in your region, sign up for classes taught by local professionals and find other people with the same level of understanding as you. Here are the best meetup.com groups for Tech in the Philadelphia area (you may have to make a meetup.com profile to view all of the links to groups below).

    • Girl Develop It: Teaching Women to Code!
    • #TechinColor: Meets to mix, mingle, and network among Philadelphia’s vast and diverse technology community.
    • WordPress Philly: Meetings cover a variety of topics including WordPress usage, designing WordPress Themes and styles, creating WordPress Plugins and Widgets, and using WordPress to its full potential.
    • Technical.ly Philly: Events explore how the local tech community is impacting job growth/retention, digital access/education and government/policy reform in Philadelphia.
    • Tech in Motion: A place for technology professionals who wouldn’t normally cross paths to meet, collaborate, and learn about what their peers are doing across the city

    Networking events: Philly Tech Week is a great place to meet people. Depending on where you live, networking events can be every day and plenty. Check with the local tech companies and universities to find out if there are any events open to the public. Local entities, like libraries, often host public events too. But if you’re really far out in the sticks the next option is the closest thing to face-to-face meetings.

    Social media: Twitter has become the first page for the internet. News breaks on Twitter, gossip starts on Twitter, and people make-up and break-up on Twitter. But Twitter isn’t just celebrity drama and navel-gazing. A lot of tech leaders and tech companies will announce events, job postings, share relevant articles and connect with new talent on Twitter. I guess it’s time for me to dust off my old Twitter handle and join the coding revolution.

    Good luck! And remember to have fun.

    WordPress version 4.3 – “Billie”

    Posted: August 18, 2015

    WordPress Version 4.3 came out today, and the YIKES crew is proud to have made contributions to this release.

    Language Translation

    Carlos is a member of the WordPress Polyglots team and an active contributor and editor of Spanish (Mexico). He translated and approved hundreds of strings for WordPress 4.3.

    Dashicons

    I designed a couple new Dashicons for the WordPress admin – “Rotate” and “Unlock” to go along with the Lock icon.

    dashicons-4.3

    Admin UX

    At WordCamp Philly we were lucky to have lead developer, Helen Hou-Sandí, in attendance at our contributor day. I was interested in the work she was doing regarding cleaning up the WordPress Admin and was able to learn about tasks with which I could help. I got some handy SVN tips from Helen as well.

    Admin forms on mobile

    The contribution I am most proud of is improving the error messaging on forms.

    Before

    Add New User before

    After

    Add New User after

    In addition to looking nicer, the use of the alert icon doesn’t just rely on color to convey an error, making it better for accessibility.

    I have really enjoyed participating in the WordPress #Design Slack channel. I love seeing how much thought people put into every design decision that is made.

    Learn about all the great new features in 4.3.