Seven Questions for Developers: @ryantharp

This is the latest in our weekly series Seven Questions for Developers on App.net, where we ask a different developer the same set of questions to learn a bit more about the people behind the apps. 

Our fifth developer is @ryantharp, an entrepreneur, consultant, and full stack developer. He helps start-ups with developing web applications and other internet challenges in the North Bay Area at http://CustomWebApps.com.

Tell us about your App.net apps. What are you looking to accomplish with them?

ChatView – Being new to a format like Twitter, I didn’t know how to meet people, but eventually found the Global tab in Alpha. @Q‘s QuickAppLabs made it even easier to follow conversations. Eventually, I realized I wanted more of a chat interface. It would simplify some of the conventions of keeping a conversation going in real-time and be easy to start new conversations at the same time. I built ChatView as the best interface to meet new people and start new conversations.

It’s also largely an experiment about filtering. As ADN gets bigger, Global will receive more posts faster. Eventually, ChatView will be no longer useable on ADN. The advanced filtering is what I will use to extend the lifespan of ChatView. If I can help filter out the noise, then its lifespan is extended.

Vidcast – The best part of ADN is the community. Organically-created events are phenomenal– it’s just remarkable what people come up with under technological limitations. #MondayNightDanceParty was the first, and now there are #CookieClub, #ThemeMonday, #BookClub, #ADNComicsClub and now #SecretSanta just to name some. I want to help event leaders get over their technological limitations.

At the first ADN Hackathon, @Q and @Duerig announced their intentions of making an application that played YouTube videos and integrated a private chat room for #MondayNightDanceParty. I decided to join up with this project. And by the next day we had the command system working. We even used it to stream music for the Hackathon for the rest of the day.

After the Hackathon, @Duerig and I continued the work showing @Jdscolam, the host of #MondayNightDanceParty, how to use it. We did a couple of weekend dry runs to ensure it was ready. We’ve successfully used it for four #MNDPs now. We have since added Vimeo support; we have a lot planned.

Since it’s a content sharing tool with time-shifting, I can envision adding everything from an Audio/Video/Text Conferencing and Screen sharing to a simple feature request management tool. Time-shifting will allow playback of the event at a later time/date like a DVR, so you can enjoy an event even if you missed it. @Duerig came up with a clever use case: Moderated debate. @sham figured out it worked with YouTube live streaming (we had no clue that it supported that) and ended up streaming the presidential debates and finally the news on election night. We’re also looking into private events for enterprise usage. We haven’t exhausted all the possible applications. Feel free to send your own ideas to #VidCastFeatureRequest.

PubSubHubbub – a simple way to get RSS updates pushed to you instead of having to manually pull down updates.

Llama – User-based tagging and categorization project. Users can use this app to suggest new tags and endorse others’ suggestions

Other Projects – I have a lot of ADN projects in the works, you can always find out what I’m working on by going to my ADN page: http://adn.customwebapps.com/ ADN is full of developers with great minds. Without focus and resources, it’s hard to make a good App. I’m looking to work with other ADN developers and designers, so if you’re interested in collaborating, let me know.

 

What qualities make a great app?

  • Online instant help – being able to get context-area help is amazing
  • Commitment to backwards compatibility – I don’t want to waste any time or investment. I want the developers to take time in the first place to make sure their design can be extended.
  • It’s not multifunctional – it focuses on one thing and does it quite well.  More features create problems  Do what you need and nothing else.

 

What tools are important to you as a developer?

  • Syntax highlighting – spot typos as quickly as possible
  • Long vertical resolution – i.e. wide screen monitors that pivot. The more lines of codes I can read it at once, the more I can see what’s going on.
  • Resolution – the more information I have open on a screen, the less window management I have to do, and the more productive I can be.
  • Memory – the more resolution you have, the more memory is needed. My browser uses about about half of my memory even with @api’s wonderful memory saving “tab.bz” Chrome extension.
  • Local development server – I don’t want to lose momentum when the internet goes out.
  • Internet access – everything and everyone’s online. If I don’t know how to build it, Google might. If Google doesn’t, I can find someone.
  • phpMyAdmin – I’ve used a lot of RDBMSes; this tool makes my life easier, and it’s why I still use MySQL more than I should.
  • SSH – remote access to production servers is key for DevOps. Being able to remotely experiment with live incoming requests is crucial and time-saving for emergencies.
  • Moleskines – good note taking tools are always important
  • Screen sharing – communicating with clients or other developers. Nothing makes communication or training simpler.
  • Whiteboards – a picture is worth a thousand words.
  • Air conditioning – after 80 degrees productivity drops
  • Atomic wall clock with temperature – having a master clock, easy to find and read, is a big help to make sure you don’t lose track of time
  • Music or podcast –  it helps me to focus while getting the heavy lifting done.
  • Full-sized keyboard – I prefer the current apple keyboard; it’s stylish, has 2 USB ports and is highly functional. ( Which mouse doesn’t really matter to me)
  • Chairs –  I can never spend enough for a great chair. You’re going to spend a lot of time there.

 

 

Why did you decide to build something on App.net?

I feel App.net is the unique combination of a traditional business plan that embraces the power of the crowd-sourced development model. On App.net, members aren’t products, but we’re customers that it serves. This is the type of platform I would want to be investing my attention in. It matches all my long term values and a entrepreneur and developer.

By App.net creating a platform with a low cost barrier to entry that any internet or web application can plug into to access:

  • an identity, (oAuth authentication)
  • unique account properties (user annotations),
  • it’s social graph (followers,following),
  • multiple standards of communication (post annotations),
  • access control (muting and permissive messaging),
  • content filtering and sorting (hash-tags, streams, filters, stars, opt-in nature of following, reposts)

These are very serious basic needs of any Internet-based application whether mobile or web.

This really is a future platform for the Internet. Mixed Media Labs has genuinely designed it, so there isn’t a need for a competitor. You don’t ever have to worry about this platform turning on you or locking you out. You could build a serious long term business on their platform. You can’t say that about many platforms. App.net is in a unique position to provide for future needs for Internet developers.

 

What got you started writing code? 

It was a combination of wanting what I couldn’t have and video games. When I was 7 my parents wouldn’t buy me a Nintendo, but I did have a Commodore VIC20. After playing Nintendo at my friends’ houses, I would come home and try to program something similar. Commodore BASIC made it easy to make sounds and had many pre-made sprites available. Also I would continue to pick up BASIC books that had game source code in them.

 

Any advice for aspiring developers (all the young coders out there)?

I would tell them, if you see something you like, don’t worry about it being already done before. Try to copy it. After you copy and understand it, try to improvise/adjust/tweak/improve on it. After you’ve successfully done that, it’s yours. I’ve built so many clones of software, I’m pretty sure I can build just about anything anyone can come with now. Remember it’s not the destination; it’s the journey.

If you want to know more about my philosophies, I’ve created a web page at http://rtharp.com/developer_advice

 

When you’re not coding you’re…

  • Meeting with clients or on conference calls
  • Going out to eat with the wife
  • Podcasting & doing events with @PandaManga
  • Going to rock or nerdcore rap concerts.
  • Reading online tech articles and nonfiction books
  • Listening to podcasts
  • Watching TV series
  • Playing games