RubyConf had a most excellent “hallway track.” This was augmented by the fabulous Poken, which allowed you to “high-four” someone who you met and avoid rummaging around for business cards. It also let you look up someone’s name who you ought to know, but had forgotten.

This was the first time I attended RubyConf. I have been programming in Ruby for almost a year and through organizing outreach workshops and other RailsBridge activities, SF Ruby, and adventures in the twitterverse and blogosphere, I knew (and knew of) quite a few Rubyists.

The best part of RubyConf was meeting people who I had previously known only virtually — from people whose blogs or books I had read, to people whose software I had worked with, to those with whom I have had ephemeral conversations with via twitter or fleeting working relationships via RailsBridge. I found people to be very friendly and outgoing. More so than at any other conference I have attended, people would just start talking to me in the hallway and I found it easy to join people for lunch or beers. I’m sure it helped to be a speaker, but I have been a speaker at other conferences and been well-known in other communities which didn’t have the same feeling of being welcomed as a new friend.

Here are some highlights:

I was impressed by Jim Meier who rounded up a group of folks who didn’t all know each other for Thursday dinner at Steelhead Brewery. I got to meet Paul Brannan, a long-time Rubyist who is one of four people to have attended every RubyConf. Sadly, for the other folks I met that evening, my poken failed me. I got an awesome introduction to Erlang from a new friend, whose name I can’t place and whose vcard was not recorded in my poken.

Lunch with James Avery, Nathanial Talbot of Terralien, and Jim Weirich, creator of xmlbuilder and rake, who warmly participated in my Ruby word game: a good use of the word “closure” in a sentence and related challenges. Jim came up with: “Objects may be used to implement closures; and closures may be used to implement objects.” This not only led to intriguing lunchtime conversation, but also to fun Japanese translation (more on that later, after all of the phrases are posted!).

Caleb Clausen spontaneously invited me to a recap of his presentation, Toward a Ruby Compiler, which he was giving to Laurent (of MacRuby) during a break.

I had some nice real-time conversation with Andy Atkinson who I has previously only known thru twitter.

David Chilimnsky of RSpec fame, whose book I have enjoyed, had been following my adventures in test-first-teaching with RSpec. I suppose I shouldn’t be surprised but the internet is a funny place where you never know who is really reading the bits of information that you send off into the ether.

I closed the conference by attending larkconf, where l4rk asked people who joined the circle of beer-drinkers to share their dream. That little kumbaya moment had the unexpected effect of making it just a tiny bit less awkward to be the only woman approaching a crowd of a dozen or so guys at a bar. I talking with Brian Doll about the SFRuby community and Brian Jenkins about interactive fiction and Ian McFarland about language.

Overall the conference for me was characterized by informal conversation with famous, lesser known and novice Rubyists. It was kind of sad that more folks could not attend, but I really enjoyed the small scale of the gathering.

I am excited to be teaching a Ruby on Rails class at Marakana in San Francisco on Nov 16-19th. I’ve come to feel that the 1 day workshops just give participants a taste of the technology and a quick peek at the power of Ruby on Rails. After working on the course materials, I still feel that 4-days is a short time, but I am excited to have the opportunity to spend that much focused time teaching a group of students in a small, hands-on class. If you have a need to learn Ruby on Rails, please sign up.

Note: this class has been given many times before at Marakana, so the testimonials are for previous classes with another instructor. I’ll be bringing in some fresh ideas from my teaching experience, but I’ll also be leveraging Marakana’s experience of what has worked well in the past.

For some, this is a high priced training. You are paying for a great training facilities, class materials and an experienced instructor. In terms of value delivered, I expect that to be well worth it and I hope my students will feel that to be true when they finish the class. However, I know there are a lot of people who cannot afford such a class who could really benefit from it. If you read this blog, you know that I do a lot of volunteer work in outreach to women with the Free SFRuby Rails Workshops. I feel strongly that we all need to do what we can to make our community what we want it to be. I’d like it to be diverse in terms of age, race, class, gender and any other aspect of the general population. I am thrilled that Marakana feels the same way and we have agreed to offer full or partial scholarships for one or two students in the class.

Scholarships available
If you feel that your presence will increase diversity in the Ruby on Rails community and that taking this class could have a positive impact on your life and you would not otherwise be able to afford the class, please fill out this short form. Our decision on the candidate will balance your need, how much taking this course will have a beneficial effect and your potential impact on the community. Bonus points for bloggers and twitterers or people who otherwise spread their know-how.

Special thanks to Marko Gargenta and Anna Billstrom for helping to make the scholarships happen.

The mobile phone is the new computer.  The desktop computer is not going away, but the smartphone market is growing fast.  Phones are being used as computers by more people and for more purposes. Just as we still have supercomputers today but most people use desktop computers everyday, soon desktop computers will be relegated to the specialist and elite professional, and most people will use their mobile phones for their computing needs. 

Already there are more mobile phones than computers connected to the internet.  Smartphones are generally cheaper than computers. With their primary role as communication devices, they are often more useful.  The smartphone of today will be the standard phone a few years from now.  With profits from applications growing, we’ll see continued subsidies of the hardware and operating systems by manufacturers and carriers, keeping new phones cheap or free. 

We’re also seeing a change in how people use computers.  More often applications we use are centered around communications (more commonly termed “workflow”) than the more traditional personal computer task of document creation.  In the business world, we file expense reports, approve decisions, or comment on proposals.  As consumers, we read reviews, send short notes to friends, and share photos.  Email is the killer app of the late 20th century, rather than the word processor or spreadsheet.

I’ve never been a gadget geek and have skirted getting into mobile application development before now.  The actual engineering challenges of working with native code on a device doesn’t scare me, but just didn’t seem worth it.  Developing apps for a phone typically meant that you were working for a carrier, directly or indirectly subjected to the whims of a monstrously large company, and often disconnected from the people actually using the application.  Mobile development also seemed to attract the same style of engineer as game development: interested in the tech for itself, with less interest in the end result, and a feeling that the application is “cool” because it runs on a gadget, independent of its usefulness.  Mobile apps weren’t attractive to me as a developer or someone who might use them.  I always said that I would start using a PDA when they had the resolution and battery life of paper, and the phone was suited for direct communication with another human being via voice.

Last year, I started to notice a change.  App development on an iPhone seemed like a different thing.  Applications ranged from useful to silly. Whether they were expressive or empowering, they were more about the people who they were built for, than about those who they were built by.  I bought an iPhone and wrote a couple of toy apps in ObjectiveC, but more notably, I started using my phone as more than a phone: for email, finding directions, micro-blogging, and even the idle entertainment of web surfing.

The iPhone has revitalized the landscape for mobile application development.  However, with all due respect, the BlackBerry had pioneered the “phone as computer” experience, but its focus on business users and Microsoft compatibility has not drawn mass adoption (despite a large group of avid followers).  What we’re seeing now is that BlackBerry’s cutting edge in the business world is complimented by the iPhone’s consumer appeal.  Further, Palm has reinvented its mobile platform and seeks to bring the best of both with a dynamic consumer experience and more power for the applications.  While the iPhone is growing, Symbian and RIM (BlackBerry) still dominate the market

SmartPhone operating systems actively innovate to keep up with advances in hardware and ease development with improved tools and APIs. These innovations are not purely technical.   The iPhone App Store reduced barriers to application development by providing easy access to distribution.  Unsurprisingly, people will develop more apps when there is an accessible market and distribution channel.  Blackberry App World and Windows Marketplace for Mobile are likely to drive the success of existing applications for those operating systems and draw new developers as well. Also OS-independent frameworks, like Rhomobile and PhoneGap, allow developers to reach people on diverse phones with a single codebase.

In a recent article by Gary Kim, Forrester analyst Julie Ask identifies three things as the killer advantages of mobile devices: “immediacy, simplicity, and context.” When those are combined with usefulness, we’re going to start to see a different flavor of software application emerge that will transform the way we use mobile phones. I do believe that referring to the use of software applications as “computing” will become archaic. The age of software as communications medium will have arrived.