Google I/O Roundup

Every year Google makes its big announcements at its Google I/O event. This year, the Chicago HTML5 User Group hosted a watch party. Unfortunately, I wasn’t able to attend, but it sounds like it was a great time. They put on a lot of great events, so if you’re in the Chicagoland area, you should definitely sign up.

Here’s some of the big things that came out of Google I/O 2013:

New Google+: Stream, Hangouts, and Photos
googleplusproject.blogspot.com/2013/05/new-google-stream-hangouts-and-photos.html

Google unveils Hangouts a unified messaging system for Android, iOS, and Chrome
www.theverge.com/2013/5/15/4332556/google-hangouts-unified-messaging-google-io-2013

New Google Play Music All Access subscription service
thenextweb.com/google/2013/05/15/google-play-music/

Meet New Google Maps
http://google-latlong.blogspot.com/2013/05/meet-new-google-maps-map-for-every.html
Mashable: New Google Maps Are Spectacular
mashable.com/2013/05/15/new-google-maps-is-spectacular/

To watch videos and look at photos from the event, go to the Google I/O website.

When Inpiration Strikes

The dev ops guy on our team comes up with some creative and hilarious passwords for our web servers. Every time he sends me a new ssh credential, it inevitably cracks me up. He follows the multiword approach with some special characters sprinkled in.

archer-posterSome other guys I work with recently launched a new high-end line of quality room spray. Called Archer Air Superiority it comes in scents like distillery, hunting lodge and european sports car. We have Archer posters all around the office.

When inspiration hits, it is usually when the combination of two or more things collide together in your brain and give birth to something else. This is what happed to me when I was walking around the 18th floor and, boom!, I had an idea. A few days later, I launched Passwords for the Manly Man.

I’ve written before about how I come up with ideas. The key to shipping your ideas out into the world is to strike while the iron is hot. Don’t overthink it, just do it. I’ve posted before about my criteria for the types of ideas I like to pursue. It is good to have that, but ultimately what you want is to come down with a bit of the madness over an idea and just execute.

manlymanpasswords-lg

I enjoy doing funny little bite-sized projects like this. It is great to see people getting some chuckles out of it on Twitter and Reddit.

Awesome Responsive Screenshots

responsive-screenshotWant a quick, simple way to generate screenshots of Responsive websites? Try the following.

Go to the Responsivator website and enter the url of the website. Check the hide header option. This will generate you a url like this: http://dfcb.github.io/Responsivator/?site=gotchocolatemilk.com&header=hide

Take that url and paste it into this handy dandy online website screen capture generator by Amit Agarwal. After a few seconds of processing time, you will have yourself a nice looking screen capture of your website across a variety of screen sizes (like this).

If you’d like to customize the screen sizes, click the customize button in Responsivator and adjust the frames settings

Github: From Zero to Hero

Are you looking to get some projects up on Github? There are a few different approaches you can take. Here is mine.

First, you need some projects. Front end projects work best for Github project pages. If you have ideas that involve server-side, you will need to host that aspect of your project somewhere else and you would never want to host any api keys or security-sensitive content on a public Github page (obviously).

For my projects, I like to have my project demo page and the master branch of the code be the same. So, start with your master branch and build it out. There are lots of tutorials on Git and Github, so find one that works for you if you want help getting started.

When your demo is ready, the next step is to create a Github Project Page. This can be accomplished simply by creating a new gh-pages branch that is identical to your master branch.

git checkout -b gh-pages
git push origin gh-pages

As you make changes to the project, keep your gh-pages and master branches in sync. The easiest way to do this is with git rebase.

git commit -m 'my master branch update'
git push origin master
git checkout gh-pages
git rebase master
git push origin gh-pages

For more information on this pattern, read these posts by Lea Verou and Oli Studholme. One thing you could try is to make a project and use it as a git/github playground for experimentation.

So, you have your first project page. Now just rinse and repeat. Once you have a few project pages, you should make them a fancy landing page home for them. For example, I have johnpolacek.github.io for my projects. To create one of these, simply create a new repo that follows the naming scheme yourgithubname.github.io and build out a nice web page. When you are all set, commit and push to master and you are done.

If you’d like to have your project pages be on a custom non-github domain, Github has a nice help page devoted to that. (Github makes everything so easy – Thanks Github!)

One benefit to having your content on a github domain is superior search rankings. Because of its massive popularity, Github ranks high for authority. This means that if you keep your code projects on Github, and insert links to your other content (blog, twitter, etc.) you will get some nice Google juice out of it.

Not all of your projects will get attention, and that’s ok. Remember, everyone has to start somewhere. Just keep pushing code and improving your skills. Good things are bound to happen. Most importantly: Have fun!

More Chicago Digital Events

I’ve already posted some great Chicago digital and tech events happening over the next few months. Here are some more:

APIs & IPAs
Thursday, April 11, 6-8pm
Emporium Arcade and Bar
1366 N Milwaukee

Free tech happy hour hosted by Singly Appfabric.
chicagoapis.eventbrite.com

IgniteChicago
Monday, April 15, 7pm
1871 at the Merchandise Mart

A high-energy evening of five minute presentations by people who have an idea (and the guts) to get onstage and share it with all of us.
ignitechiapril2013.eventbrite.com

Chicago Open Coffee
Tuesday, April 16, 8-9am
Dollop Coffee Shop,
345 E Ohio

Coffee with entrepreneurs, makers, developers and creatives. Hear announcements on upcoming startup and creative events, and talk about startup and tech news.
meetup.chicagoopencoffee.com

Built in Chicago Launch
Wednesday, April 17, 6-9 pm
Rockit Bar & Grill
22 W Hubbard

Built In Chicago Launch gives recently launched startups the opportunity to present their companies in front of 350 investors, fellow entrepreneurs, and startup enthusiasts.
builtinchicago.org/events/built-chicago-launch-april

Social Media Masters Summit
Wednesday, May 1, 9am
Microsoft
200 E Randolph St

A power packed day of best practice Social Media case studies that go beyond typical tactics, paving the way for a new way of thinking.
summit.digitalmegaphone.com

Google I/O Extended at Maria’s
Wednesday, May 15, 3pm
Maria’s Packaged Goods and Community Bar
960 W 31st

Watch sessions from the big Google I/O event live and connect with other developers.
meetup.com/chicago-html5

Big Data & Analytics for Retail
Thursday, June 20 and Friday, June 21
Westin Chicago River North
320 N Dearborn

Big Data & Analytics for Retail Summit brings together analytics executives and data scientists working in retail, eCommerce and consumer goods.
theinnovationenterprise.com/summits/big-data-retail

How Getting Married and Having Kids Made Me a Better Programmer

meandthekidsIt may seem counterintuitive to think being married with children could have a positive impact on your programming. Yet, that is exactly what has happened to me.

First, there’s the obvious way. Motivation. It has been said that the world belongs to those who hustle. When you have a family to support, becoming great at what you do is excellent job security. Thus, doing web development has gone from being a fun thing that I do for a job, to a very important fun thing I do as my career. Now, my own personal hustle factor is at an all-time high.

The other way is unexpected. Obviously, raising children is a tremendously time-consuming, and energy-intensive endeavor. Is there less time to program? Yes. When you do have time to program, are there lots of interruptions? Also yes. How can this be a good thing? I will tell you.

In the old days, I would hunker down and spend long stretches of time working on a project. If I ran into an issue or a block, I would just keep hacking away at it for hours. I would curse and get frustrated at the lack of progress, but eventually power through.

Nowadays, as a matter of necessity, I can only code in short bursts, maybe 2 hours at most. Sometimes, I’ll be struggling to fix a bug or work through an issue and be getting nowhere. Next thing I know, the baby is awake, or it is time to eat or any number of other things that come up in the course of a parent’s day.

This has been a blessing in disguise. The brain is an amazing thing. There is this thing called unconscious cognition, where your mind works on problems while you aren’t thinking about them, even when you are asleep.

It has happened to me over and over again. I get away from what I’m working on, then when I come back, I focus on it in a fresh way. I can accomplish in 10 minutes what may have taken me an hour or more had I just stayed ‘heads down’.

This phenomenon has made a big impact on the way I code, and deal with problems in general. It has given me confidence in my ability to work things out. Instead of getting stressed, I step back and let my brain churn away. It almost never fails. Sometimes I wake up and an answer will effortlessly appear in my mind. It is uncanny.

So, if you are thinking that settling down and having kids will mean that you won’t be able to get as much done, think again. At least for me, it has been the opposite. Check out my github page. Everything on there was created post-children.

Google Refugees

Like many people, I was caught off guard when Google announced it was shuttering Reader. I use it every day, combined with iGoogle, another property that is headed for sunset. Are you, like me, a Google refugee?

feedlyIt used to be, I could just rely on the fact that if a piece of web technology was by Google, then it was probably the right one to use. I’d like to thank Google for liberating me from this notion. There are lots of great apps out there that have trouble competing in the shadow of Google’s subsidized apps. In the case of Reader, there were a number of great feed readers that are now getting a chance. For me, I am going with Feedly, because it is well designed and has a great mobile app.

As far as the notion of a next gen web portal, iGoogle was a pretty good solve. With a few scrolls and a few glances, I could quickly catch up on news, social feeds, email and reddit. In this space, there don’t seem to be as many worthy competitors. Netvibes seems slightly inferior to iGoogle at this stage, but if enough people start developing better widgets for it, that could change. I hope so, because I’ve started using it.

I feel like there is room for an order of magnitude improvement in this space. A web service that works on phone, tablet and desktop that brings together all the content that I care about. I could see a company like app.net growing into something that can fill that role. More likely, I expect the browser itself will take the tired concept of the homepage, and evolve it into an AI-driven dashboard for your life. Yes, please!

Update: March 20: Another service that I have used for awhile that you Google Reader refugees should check out is Prismatic. It is a great service that automagically pulls in content for you based on social services you already use as well as user settings you can configure. Great for discovering new content not in your normal feeds.

Upcoming Chicago Digital Events

I’ve put together a list of cool digital/tech events happening right here in my own backyard, the City of Chicago. My sources for these were mostly builtinchicago.org, lanyrd and eventbrite.

Update: I’ve added some more in a new post.

Built in Chicago Launch
Monday, March 18, 6-9 p.m.
Rockit Bar & Grill
22 W. Hubbard

Built In Chicago Launch gives recently launched startups the opportunity to present their companies in front of 350 investors, fellow entrepreneurs, and startup enthusiasts.
http://www.eventbrite.com/event/5574144416

Girl Develop It Launch Party
Tuesday, March 19, 6-8pm
Rockit Bar & Grill
22 W. Hubbard

Girl Develop It is an organization dedicated to empowering women of diverse backgrounds from around the world to learn how to develop software. Come celebrate their arrival in Chicago.
http://www.meetup.com/Girl-Develop-It-Chicago-IL/events/107718052/

Technori Pitch
Tuesday, March 26, 6:30p-8pm
Chase Auditorium
10 South Dearborn

Chicago’s monthly tech showcase, where geeks, veeps, and everyone in between meets.
http://technori-chi-march-pitch.eventbrite.com

Refresh Chicago – 10 Lessons Learned from Obama for America 2012: Real-Time Design
Wednesday, March 27 at 6:30pm
1871 at the Merchandise Mart

Jason Kunesh, UX Director at Obama For America will speak about best practices and methods that helped Obama for America build winning social, mobile, e-commerce and in person experiences for as many people as possible. Tall tales, examples & plenty of QA to go around.
http://www.meetup.com/Refresh-Chicago/events/94957112/

Tech Cocktail Mixer & Startup Showcase
April 3, 6 – 9:30pm
July 25, 6 – 9:30pm
September 26, 6 – 9:30pm
1871 at the Merchandise Mart

A delicious blend between a network event, startup showcase, and a party. We bring together Chicago’s hottest startups, most passionate technophiles, job seekers, investors, entrepreneurs, and those simply looking for a fun atmosphere to get to know your neighbors.
http://www.eventbrite.com/org/25632178?s=12657736

HTML5 User Group: Tools and Workflow for Front End Dev
Thursday, April 11, 6pm
HY Connect
142 E Ontario

Google Developer Jeremy Khan comes to Chicago to lead a discussion about tools and methods for producing solid code.
http://www.meetup.com/chicago-html5/events/104910202/

Mobile Camp Chicago
Saturday, April 20
Harrington College of Design
200 W Madison

Mobile Camp Chicago dedicates a full day to bring together Designers, Developers, and anyone else who is interested in leveling-up their mobile skills.
http://2013.mobilecampchicago.com

MoxieCon
Saturday, April 27
1871 at the Merchandise Mart

A day–long crash course on the business side of design and technology.
http://moxie.quitestrong.com

Chicago Northside Mini Maker Faire
Saturday May 18, 10am – 4pm
Carl Schurz High School
3601 N Milwaukee

A family-friendly showcase of invention, creativity and resourcefulness, and a celebration of the Maker movement.
http://makerfairechicagonorthside.com

Context Conference
Tuesday, June 11 to Thursday, June 13
McCormick Place West

Ready or not, the age of the multi-screen, mobile-first consumer has officially arrived. And with it comes a mind-blowing variety of ways for them to connect with your brand.
http://www.contextconference.com

Techweek Chicago
Thursday, June 27 to Saturday, June 29
The Merchandise Mart

With over 200 speakers and 70 sessions from the most innovative technology leaders and companies around the world, Techweek is Chicago’s biggest tech conference. For everyone from Fortune 500 companies to startups, Techweek’s conferences, exhibitions, workshops, and parties come together to create one unforgettable week.
http://techweek.com/chicago/

Succeed Faster
Friday July 19 to Sunday July 21
1871 at the Merchandise Mart

An exclusive, invite only, premiere career acceleration conference for young professionals to the next level.
http://succeedfaster.com

An Event Apart
Monday – Wednesday, August 26–28
Westin Chicago River North

An Event Apart Chicago is an intensely educational learning session for passionate practitioners of standards-based web design. The people who are literally writing the books on web design and development come to share their knowledge.
http://aneventapart.com/event/chicago-2013

Ready to Inspire
October 1st to 3rd
Location TBD

http://lanyrd.com/2013/inspire-chicago/

Ideas Week
October 14 – 20
Various locations

Chicago Ideas Week brings together hundreds of the world’s brightest thought leaders to inspire, connect and activate the city of Chicago and the world.
http://www.chicagoideas.com

HTML5 Gotchas

I love new web technology. I love shiny new elements, api’s and css styles. I anxiously wait for them to reach enough browser support so that I can use them on client work.

Nevertheless, even when a web technology seems to have reached maturity, I frequently seem to run into gotchas. HTML5 video and audio are ripe with these. Even when I try to avoid them by using a great third party service like Vimeo, you still run into issues with certain old Android browsers.

Take icon fonts for example. I love icon fonts and IcoMoon is an amazing web app that lets you create your own. Everyone seems to be using them. They even work in old IE. So you’d think it would be safe to use them across the board. GOTCHA!

Icon fonts require @font-face support of course, and there’s still a few browsers that lack that feature. I still want to use icon fonts though! They work great delivering crisp single color icons that have a small filesize footprint. So, I went ahead and quickly made a simple iconfont fallback polyfill using Modernizr to test for @font-face support. I asked a developer I work with to check it out on his phone which was still running Android 2.1. GOTCHA! Modernizr gave a false positive for his phone.

So, instead of using Modernizr, I went with https://github.com/paulirish/font-face-detect">Paul Irish’s previous @font-face detection solution, and that did the trick. I’ve posted this little project on Github. I guess could call it Make IconFonts Work On Tim Svensen’s Phone.js, but I just went with iconfont-fallback.

Idea Realification

Idea Realification is about taking what’s in your head and making it happen. I am not claiming to be the world’s foremost expert on this topic, but I have managed to release quite a lot of projects over the last year or so. People have asked me how I get so much done. When I put up my Developing in the Open post, it was mentioned that I forgot the most important part, the idea.

I have ideas all the time. I think most people do. Having ideas is the easy part. All it takes is inspiration, and that has never been easier to come by than right now. Look around on the internet, listen to podcasts, watch TED, or do some traveling. Inspiration is everywhere. So if being inspired is your problem, then I don’t know what to tell you.

So, let’s assume you have ideas. That is the easy part. How do you turn an idea into something real? The answer seems simple. You get to work on it. Yet, taking an idea, turning it into a project and then finishing it is not as easy as it sounds.

I’ve found the best approach is to first organize my ideas. Rather than just jumping on an idea right away, aimlessly jumping from one inspiration to another, take some time to let it percolate. See what sticks.

I use Trello for this purpose. Every time an idea pops in my head, I create a Trello card for it and throw it on my ideas board. I am constantly adding and managing my list of ideas.

Deciding which idea to work on is the most important part. Picking the right idea will give you the greatest probability of crossing the finish line. The key I have found is to have a set of filters. Filters act as a set of criteria that you can use to evaluate which ideas are best for you.

Here are the filters that I currently apply to my ideas:

Fun. Whether it contains an element of humor or some playfulness in the design, I’ve found that for me to remain enthusiastic about an idea, there has to be a certain amount of fun involved.

Bite-Sized. I like smaller projects that I can finish quickly. If an idea is too big or too ambitious, I’ve found that it will fizzle out (at least for me). If I have a larger scale idea that I really like, I will try to break it down into smaller bites.

Recyclable. It gives me extra incentive when working on an idea if it is something that will continue to be of use to me.

Open. I don’t like to work for long stretches of time on things that I can’t share. I especially like to do open source because it motivates me to do better.

Passion-Inducing. Does the idea inflict me with the madness? You know that thing where you can’t stop thinking about an idea. This is essential!

filter-diagramSo, those are my filters. They won’t work for everyone. I encourage you to find your own. Maybe you like projects that involve data. Maybe it important to you to work on projects you can pull off solo, or maybe being collaborative is what you’re all about. Maybe you are really into projects involving hardware like lasers and/or robots. Or are more artsy. Maybe making money is a big priority.

Whatever the case may be, I recommend managing an ever-evolving list of ideas, using your filters to help rank them and then just letting the madness consume you as you knock out one idea after another.