App.net Podcast Episode 7

This week @dalton is joined by @berg to discuss the new File API, its significance, potential use cases, and the promise of an unbundled service. As always, listener questions are answered at the end.

  • 0:30 File API Announcement
  • 2:40 The promise of an unbundled service
  • 7:00 Member storage allotment of 10 GB
  • 8:30 “Glue” use case
  • 11:30 Omega file uploading coming
  • 12:25 Press around the files API
  • 14:10 Who owns your social graph?
  • 19:40 What is Patter? (The developer Patter room is here.)
  • 23:35 Questions

Thanks to @duerig, @po, @mlv, @phoneboy, @the_reigns, @yetzt for the questions.

 

Subscribe to the RSS of the podcast or subscribe through iTunes.

If you have a question for a future podcast, a suggestion, or other feedback, send your thoughts to @ADN using #ADNpodcast.

Also, the Vonage commercial @berg references:

What is Patter?

 

Screen Shot 2013-01-29 at 12.21.22 PM

Patter is an App.net chat client, developed by @duerig, that showcases some of the uniqueness of our API.

You can use it to create public and/or private chat rooms and send private messages, all of which make it suitable for collaboration, in-depth discussions, and some good, old-fashioned procrastination (e.g., sharing animated gifs). The just-released File API opens up even more possibilities for the tool.

There are Patter rooms dedicated to fitness, users of specific App.net clients, and pitching ideas for App.net applications. We even have incorporated Patter into our developer support. Last weekend, the #ADNComicsClub used Patter as a forum for the discussion and the #MondayNightDanceParty crew integrate it into their weekly madness. Word is spreading fast about its addictiveness.

@duerig has also released a Chrome plugin, Patter Notify, to let you know when you’ve received a Patter chat, and other apps like Felix and hAppy have built-in Patter integrations, as well.

You can create your very own Patter room here.

ADNComicsClub_Screen                 Patter_gif                 Patter_ScreenView

Announcing the App.net File API

The promise of “unbundling”

Imagine a world in which your social data (e.g. messages, photos, videos) was easier to work with. For instance, imagine you could try out a new photo sharing service without having to move all of your photos and social graph.

In this world, your photos are held in a data store controlled by you. If you want to try out a new service, you can seamlessly login and choose to give permission to that service, and the photos that you have granted access to would be immediately available.

This is one benefit of an “unbundled” social service. Unbundling gives the user power to pick the software that best suits their needs, rather than being forced to use the software made by the company that manages their data.

Bringing App.net one step closer to that vision

To date, App.net has been focused on messaging & communication applications, however, with the introduction of the File API we are expanding the scope of App.net-enabled social applications. In other words, in addition to storing posts & private messages, an App.net account can now store files.

Screen Shot 2013-01-28 at 9.48.47 AM

App.net “member” and “developer” tier accounts now have access to a 10GB bucket of file storage. This storage can be accessed by App.net applications in order to read/write files.

What kinds of applications could be built with this API?

photo-viewer-2

  • Photo sharing applications
  • “Glue” to tie together desktop/mobile/tablet photo applications (in a way that is not tied to a specific platform such as iOS or Android)
  • Collaboration tools. (When tied together with the Messaging API)

As part of this API release, we have added a photo uploader to the Alpha web interface, and basic file sharing support will be added to the Omega messaging interface shortly. We look forward to seeing what 3rd party developers are able to build with this new API!

Thanks

The App.net team

#ADNoriginal on #MondayNightDanceParty

Back in November we wrote about the #MondayNightDanceParty phenomenon that sprung up entirely out of App.net users wanting interact and share some of their favorite tunes.  It’s been a fun, great way to shake of the Monday blues with some delta blues.

Screen Shot 2013-01-24 at 6.50.42 PMGroup organizer @jdscolam has added a new wrinkle to the party by highlighting some of the community’s own musicians.  #ADNoriginal will put the spotlight on a musically talented App.net user so the rest of us can learn more about them. The next  #ADNoriginal will be @wendy (formerly @punchingdrums) this upcoming Monday night, January 28th.

For those of you that are new to the #MondayNightDanceParty, you can get up to speed here.

#MondayNightDanceParty kicks off at 8:30 p.m. CST and will proceed as usual.  The #ADNoriginal will be highlighted about halfway through the party (around 9:30) when they will play a song by her band, VioletG, followed by a song by an artist who has greatly influenced her music. They’ll cap it off with a short interview to get to know the artist behind the music.

Calling all musicians in the App.net community: if you would like to be featured on a future episode of #MondayNightDanceParty, hit up @jdscolam on the service and show him your stuff!  There are a ton of talented users of all sorts in our community.  Stand forward and be recognized.

#ADNComicsClub

Continuing the great tradition of App.net discussions and member-originated clubs and interest groups, the second #ADNComicClub is fast approaching, this Saturday, January 26. There’s still time to secure and devour this month’s selection, Maus Volume 1 by Art Spiegelman.

The club works as you’d expect. Participants read the current month’s selection and then log in to App.net on discussion day to share thoughts and reactions using the #ADNComicsClub hashtag. @Justine got things started – with help from @mina, among others – and serves as the de facto leader and wrangler.

The inaugural selection was Batman: The Long Halloween, and you can read a transcript of the event here. This month, the discussion will utilize @duerig‘s group chat application Patter.

For a teaser, check out #bookbytes podcast, hosted by @saket@justine, and @sneagan, for an early discussion on Maus 1. The podcast series tackles the month’s comics selection as well as the #ADNbookclub pick (update: this month’s book club is Cloud Atlas, and the commentary will take place this Friday, February 15).

It’s not too late to vote on your preferred #ADNcomicsclub meet-up time:

@justine
justine Hey #adncomicsclub! Leave me your discussion questions and vote for your preferred meeting time here: http://d.pr/8ZqG

@kirschen @sba @matthewbogart @comicsans @rand @ranti @thestopbutton @drunkenpirate @lindsay @ben @ednapiranha

 

Seven Questions for Developers: @scruffyfox

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. If you’d like to participate, contact @ben.

Our next developer is @scruffyfox, Callum Taylor, a 20-year-old, lead Android developer working for 3 SIDED CUBE in Bournemouth, in the south of England. He’s been working there for the past two years, and, before that, one year as a PHP web developer.

@scruffyfox studied computer science for one year in 6th form and completed a BTEC national diploma for IT Practitioners in college with full distinction. He never went to university.

Screen Shot 2013-01-22 at 11.10.19 AMTell us about your App.net app. What are you looking to accomplish with it?

Robin is, or will be, one of the top Android clients for app.net. It’s just been released on January 1st and is available to download at http://rbn.im/store. We hope to become the best Android client for ADN and be a comparable app to the tens of iPhone apps already made on iOS. We’re kinda fed up of people slagging off Android and saying that there’s no decent apps on there, and we aim to change that.

What qualities make a great app?

The UX plays a vital part, we’re trying crazy new UX patterns in our app, in the hopes that users will find it more intuitive to use and easier to navigate whilst having lots of ways to customise and provide the user with every bit of detail.

So far, it’s working out pretty well. We’re using a new UX library for sliding out drawers with icon options which don’t take up as much space as other apps do. We’re using a lot of ‘long press’ options for things and my own UX I’ve created is the ‘hinted view’ which essentially tells you what the button does when you long press. Simple but useful UX can be found on my gist.

 

What tools are important to you as a developer?

Crash reporting. It’s very hard to develop for Android because you have to cater for so many different devices, and each device behaves slightly differently. We have a lot of error catching and crash reporting that gets logged to our server every time a user has a crash so we know where it happened, who it happened to, and what caused it so we can work on a fix right away.

 

Screen Shot 2013-01-22 at 11.09.54 AMWhy did you decide to build something on App.net?

Well, when I signed up to ADN, I was torn whether or not to make one but this post by Romain changed it all. That and I needed a new project to work on that would allow me to explore new design patterns, new APIs, and a new community. So far it’s been great. All the guys currently using the app are very supportive with each build (even if they are extremely buggy) and that helps us continue writing the app.

 

What got you started writing code?

I got interested in how computer systems interacted with different file types about seven years ago and began exploring what they did. From there I started learning about DOS and batch scripts. After that I started getting into web, learning PHP, HTML, and hacking together mods for PHPBB forums. I then discovered Runescape (yep, I was only 13 mind you) private servers and decided to learn Java to mod a private server. You can see a list of the stuff I’ve made/worked on over at my portfolio.

 

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

Never stop looking for an answer to a problem. I guarantee you someone out there HAS had the same problem and has posted a fix. I sometimes spend hours looking for a fix for certain bugs and have always either found the solution or found a work-around for it. Never rely too much on asking people for help. I find it more beneficial to find the answer myself. The best tool you have is right in front of you.

 

When you’re not coding you’re…

I never stop coding. Sometimes I play Borderlands.

 

This Week’s RecApp

Now that the dust from the holidays has settled we have another recApp for you all.  These are some of the more recent apps that have been added to the App.net Directory.  There are a few new App.net clients and some cool integrations to existing services.

ZephyrZephyrfor iPhone & iPad Fast. Powerful. Clean. Zephyr is an App.net client for iOS.  Post, star, and reply to threads through an intuitive interface and enjoy App.net with lightning speed.  Created by @enderlabs

 

 

maripostaMariposta integrations - Connect with App.net to show your latest posts on your Mariposta profile.  Mariposta is Web Publishing for Mere Mortals. It gives you all the tools you need to create amazing publications specially formatted for the iPad.  Created by @jaredcwhite

 

Mr. ReaderMr. Readerfor iPadMr. Reader is a RSS news reader for your iPad that synchronizes with your Google Reader account. Manage your subscriptions directly in the App and share articles with multiple services like App.net.  Created by @curioustimes

 

track 8Track 8 - for iPhoneTrack 8 brings the Metro experience to your iPhone, iPod Touch and iPad. Browse and play your music in an immersive visual experience of album artwork and artist images.  Share to Facebook, Twitter, App.net and Day One.  Created by @enderlabs

 

ChapperChapperfor Windows - Chapper is a small App.net client designed to be focused on the main things and having to not need stuff.  It is the little brother of Nymphicus for Windows and shares much code, ideas and know how with it.  Created by @lighun

 

RobinRobin for Android Robin is your brand-new interactive and feature packed client for App.net.  Features include: Multiple account support, view inline images in your stream, posting images and locations, native tablet support and much more.  Created by @scruffyfox and @simpleline

 

tweeterTweeterChrome ExtensionThis extension quietly slips App.net posts into your Twitter stream, for those of us who are still kicking the habit.  Created @ptrwtts

 

 

That’s it for this recApp.  We hope to have more awesome apps to share with you all next time.

Note:  The app descriptions are provided by the developers; edited slightly for formatting and length

Seven Questions for Developers: @billkunz

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. If you’d like to participate, contact @ben.

Our next developer is @billkunz, an indie iOS and Mac developer, based in Mountain View, California, who makes Felix. “Most of my work has been for clients, like [REDACTED] and [REDACTED],” he wrote, “But I like to make software on my own when I’m not consulting.” @billkunz started writing software for iOS in 2008. Before striking it out on his own in 2006, he was a senior front-end engineer at Netflix for about nine years. All told, @billkunz has been writing software professionally for about sixteen years, with some dabbling before that. His company’s web site is http://tigerbears.com.

Screen Shot 2012-12-20 at 5.07.10 PMTell us about your App.net app. What are you looking to accomplish with it?

I make Felix, an iPhone client for App.net. I’ve worked on social networking software before, but never a Twitter client. When I saw @dalton‘s first posts about ADN, the ideals behind it struck a chord in me and I signed up immediately. After taking a look at the actual API and seeing the philosophies behind it, it was clear ADN is intended and poised to be something very special. I started work on Felix a day or so after my account was activated in August. (It’s not named after either of my cats.)

Generally speaking, my goal is to create an app that highlights and enables the connections people have with each other. Right now, that’s usually expressed by the conversations we have, but over time it’s not limited to that. It’s also important to me to have the app evolve along with ADN. How people interact with each other here is a bit different than on other networks, and as this culture changes and grows, Felix will do the same.

Both ADN and Felix started off behaving and feeling somewhat Twittery in terms of visible feature sets, despite having more complex underpinnings. (It’s often most efficient to start with a known target, and a few months is actually a blink of an eye despite the “instant killer software” Valley creation myths.) However, both are shedding that early scaffolding quickly. You can see some hints at the shape of things to come in ADN’s sweet new messaging API and Felix 1.3, respectively, for example.

Where that ends up is anyone’s guess. I have a general roadmap for where I want to take it, which is pretty different from how it works today, and I lay out more foundations for that with each release. In practice, though, it’s shaped heavily by our community’s shared culture.

 

What qualities make a great app?

Great software gets out of people’s way while enabling them to do what they want. Most people don’t use an app to, well, use an app. They’re trying to achieve a goal or have some purpose served. Good apps find that primary purpose, serving it well and with focus.

They eliminate cruft and distractions when possible, but include enough little flourishes to bring a smile. The phrase “childlike delight” is both a cliché and an overstatement, but good software is designed for at least some level of enjoyment because it connects people with what they want.

Getting to that point can take years of iteration, polish, research and insight. Creating something that feels simple and also powerful is actually a remarkably difficult task. It’s a process, and one would be hard-pressed to find an example of it ever being truly “completed.” Recognizing that (even taking advantage of it) is key.

 

What tools are important to you as a developer?

In terms of software, I live in Xcode, Instruments, Photoshop, Sketch, Opacity, Tower, Rested and Things. xScope from Iconfactory is immensely useful as well. Billings when I’m on a gig. Coda 2 and Core Data Editor for other stuff. Kaleidoscope. Shameless plug: I wrote and used Objectify, a Mac app that generates Objective-C code to model the data in a chunk of JSON. I shaved off a bunch of early development time for Felix using it, which was a nice change of pace from being its developer. :)

Hardware-wise, I love my Retina MacBook Pro. I can’t imagine going back to another display, especially for this kind of work. My Cinema Display’s idle. I have a large suite of iOS test devices that have been key tools over the years; I lost count after a dozen. I keep a decent 10x loupe handy as well.

I’m fortunate to have an awesome team of beta testers (¡hola, amigos!) that keep me sane and in check, all while catching a bunch of my mistakes, bad assumptions and oversights. Plus, they’re all cool and smart people, so it’s fun. (Sorry, I can’t add any more people right now.)

Solo software development is a true emotional roller coaster, so I couldn’t do this without the love and support of my wife (and our cats!) who helps me celebrate the highs and temper the lows.

 

photo (1)Why did you decide to build something on App.net?

“Because it was there.” The App.net ethos is extremely appealing to me, and I wanted to participate and make a contribution. I had a sense of where it could go and believed the team would expand the platform rapidly, which was exciting. Fortunately, that belief was well-placed, as the API and infrastructure have evolved remarkably quickly in a very cool direction.

My style of development (when working solo, that is) is heavy on iteration and evolution with a fairly fluid roadmap. I guess it comes from all that time working with aggressive schedules in the web world, for better or for worse. Working with a rapidly-changing API felt like a perfect fit and, well, it just sounded like fun and a great challenge.

 

What got you started writing code?

LOGO on a PET, BASIC on an Apple II and fiddling around on an original IBM PC. I tried learning Pascal and C around 1990, but it didn’t stick despite my love of math and logic puzzles. (Maybe I shouldn’t have kept getting myself “grounded” from the family computer in high school, but it worked out.) My grandfather used to say there have been builders in my family for 800 years (he was a farmer and mechanical engineer, and my father’s an OG hardware / EE guy, still in the business) so the die was pretty much already cast.

I majored in political science intending to be campaign staff or an analyst, but the Internet opened up and I was drawn back into this space with that shiny new “HTML” thing, then a little Perl and Javascript. I spent a little time after graduation on the IT side of things but went into professional web development as fast as I could.

I just like making stuff people enjoy. :)

 

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

Time spent on language and style holy wars is better spent on honing your craft. Change what you work on from time to time. Sweat the details. Learn how and when to say no. Premature optimization is the devil. Beware of habits you build up when interacting with your app – we train ourselves quickly, and that hides bugs. Experiment. Welcome constructive criticism but don’t sweat the critics too much – there’s a difference. That ultra-clever bit of code you just wrote will be a lot harder to debug in six months at 3am.

Ask questions, but after listening and doing some research. Learn when to take a break and let your subconscious take a crack at a problem. Don’t blink. Find opportunities to experience the long-term software development life cycle – there are powerful lessons and instincts to develop in the maintenance, obsolescence and replacement phases that are missed by just hopping from one new thing to another.

Watch your posture and maintain a work-life balance. #doasisaynotasido

 

When you’re not coding you’re…

Chilling out with my wife, playing fetch with one cat and playing “bird” with the other. Going to A’s games with friends and watching the Raiders do, well, not much this year. Avoiding any mention of said Raiders games around my Broncos-loving wife. I’m looking forward to some injuries healing up so I can get back to the track with my motorcycles. Occasional trips to the range to rain hellish vengeance on my mortal enemy: sheets of paper.

I want to try this “sleep” thing people keep talking about, but heard it’s overrated. And probably monetized by Facebook.