Main menu

Post navigation

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.

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.

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:

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.