Interested in mobile technologies? Want to learn from leaders in Philadelphia? Join us on Tuesday, April 24th for fast-paced evening of lightning talks. These five minute talks will cover Android, iOS (iPhone/iPad), and mobile web topics.

This event is part of Philly Tech Week and hosted by the Android Alliance and PhillyCocoa. This event couldn’t happen without generous sponsorship from Chariot Solutions and Seed Philly. The event will provide dinner and drinks during and/or following the event.

Topics

  • Handing mobile device constraints
  • Introduction to Objective-C
  • Android Fragments
  • TDD Android
  • Introduction to KIF
  • Android styles
  • Dependency management with CocoaPods
  • Using LayoutManagers
  • Sencha Touch
  • Phone Gap
  • Other potential topics include: mobile design and Windows mobile

RSVP: mobilelightning.eventbrite.com/

What topics would you like to hear about?

0 comments

I’ll be speaking at the Emerging Technology for the Enterprise conference about fragments, why you should be using them, and more importantly how to start today.

Here’s a good place to start if you will be unable to join me or want to read ahead.

I would love to hear about your experiences with fragments. Have you been holding off? Have you upgraded an existing phone app? What did/do you find most confusing about them?

Hope to see you at the session!

0 comments

Chariot Solutions, my new employer, has a nifty day of learning called Chariot Day. This Saturday, Charioteers will give 45 minute presentations on a broad spectrum of topics, including enterprise Java techniques, mobile, and Arduinos.

Originally I had planned to use it as practice for my Philly ETE talk, but instead I’m trying out material for my Skillshare class (which I can also use for my Android Girl Develop It class).

It’s an immersive 45 minute dive into Android. At the end of the session the students will have a simple Doctor Who app. The app displays a Tardis and greeting. Clicking on the Tardis takes you inside with a separate greeting. Clicking on the inside of the Tardis shows your favorite Doctor Who quote. I also created a tablet version with these two views side by side.

It’ll cover these foundation topics:

  • XML layouts
  • Themes, styles, drawables, & strings
  • Click/event handling
  • Starting a new activity
  • Specifying an icon for the app
  • Fragments & tablet version (if time)

This session works best if the participants have already installed the SDK and have a physical or virtual device. If the class is for total beginners, I’d start with a 45 minute SDK download and installation session.

By the way, here’s my favorite pics for the app:

0 comments

Had a heck of a time finding a tutorial on configuring Android instrumentation testing in IntelliJ. I tried the command line approach, but it was cumbersome and I’d rather have IDE integration. Finally I stumbled across this link which got me most of the way there. Some of the instructions are now automated in IntelliJ 11, so here’s an updated tutorial.

This tutorial assumes that you have installed the Android SDK, created an Android project, and simply want to add testing to it.

First, open project structure dialog by right clicking on project name or with the keyboard shortcut F4. Click the plus button and select “Module.”

Next, select “Create module from scratch” on the first screen of the wizard. Then choose a name and select “Android Module” type. Accept source directory settings on the next screen.

Finally, select “Test” under “Project properties” and ensure the “Tested module” from the drop down list is correct. I like to set the “Target Device” to USB (New option! Note: Acts funky when two devices are plugged in. I filed a bug here). Finish the tutorial.

Your project structure should look something like this:

When you exit, you will automatically have a run configuration for your new tests! Hit the play button and enjoy.

0 comments

I took my first class today at The Hacktory. I found the class through Skillshare. It was fun and definitely worth the $20 in materials alone. Plus it was also a good excuse to spend some time exercising the creative side!

I’m bummed that I left the choker. It was made with the same rainbow wire as the belt and bracelet, but had no processor glued on.

Can you guess all the electronic parts?

2 comments

I’ll be attending Android Dev Con and the Grace Hopper Conference this year.

I heard good things about the first AnDevCon in March and I’m excited about sessions related to using advanced layout techniques, building a business around mobile apps, and productivity/testing. I’m bummed that I will be missing all of Wednesday’s sessions, but I’m heading to Grace Hopper that morning. I agonized over the decision, but went with long-term career aspirations (Attending the workshop: Building Your Brand as a Technical Expert or Leader) over short term technical information (awesome information about the Android platform).

Grace Hopper is a perennial favorite and may just be the only reason I’m still in tech. I met my future manager at the first one I attended in 2007 and my second job came through a posting on systers.org (run by the Anita Borg Institute who puts the conference together). The inspiration you experience at this conference is hard to put into words (Check out my article in Linux Pro Magazine!), but I always leave energized about my career!

Without further ado, here’s my top five conference survival items (click on the pics for more info):

I’d love to hear what’s essential to your conference experience in the comments!

2 comments

Free Download: Sailing Away

I’ve had the same relaxation CD for several years now - piano, guitar, and flute against a nature backdrop. I listen to it when I’m having trouble focusing, while coding, and when trying to relax. It’s served me well, but it’s time to find something that I don’t have all the bars memorized!

Yesterday I started playing with Garage Band. Although I’m a flautist, I thought it would be difficult to compose songs since I’m not great at the piano or guitar. I briefly considered buying a USB keyboard, but decided on the iPad version of GarageBand instead. It has different instruments and smart instruments that help you compose beautiful music easier. I picked it up a lot quicker than I expected and I’m having a great time experimenting with different genres.

For this song, I composed the background effects first – the ocean waves, seagulls, and boat noises. After that was complete, I created a project (Ocean Chords – shown in orange) on the iPad using Smart Piano. I edited the order of chords and bars on my Mac Book Air and then added the chords to the Sailing Away project through the media browser. After some tweaking and changing the volume of different tracks, I was done. [P.S. If you know how to combine two projects without importing one as a immutable track, please let me know!]

Sailing Away Garage Band Project

Sailing Away Garage Band Project

What do you think?

2 comments

I attended my first Random Hacks of Kindness event on June 4, 2011. I am very interested in the concept of hacking for the benefit of person-kind, but unfortunately I couldn’t commit to the entire weekend. I violated the spirit of the hackathon by mostly focusing on my own work tasks … but I did contribute my Python knowledge and project management skills. I worked on the reachability of Tor relays listed on the EFF’s relay challenge webpage. Watch the video roundup here.

Tor Project

Non-profit to protect privacy about where you are coming from and where you are browsing; estimated 300,000 daily users; Can download, obtain via email, spread to friends via USB, or download via mirrors. Has played a key role in several countries with protests (e.g. Egypt, Iran, Tunisia, China), but censorship is spreading to all areas of the globe.

Regular citizens don’t want to be tracked and watched! Businesses need to keep trade secrets. Law enforcement needs anonymity to get the job done. Governments need anonymity for their security. Journalists and activists need it for personal safety.

Anonymity
Anonymity isn’t cryptography – intelligence monitoring can still figure out things about you (e.g. who you are talking to & when); don’t necessarily care what you are talking about. Anonymity serves different interests and can be packaged/marketed for different user groups – privacy to family; traffic analysis resistance for DoD/government; anonymity for researchers; business – network security; reachability for human rights activists.

You can’t get anonymity on your own – private solutions are ineffective. Bad people need it too, but they are already breaking the law well! An internet relay or single point of bypass is easy to track down what is going in. Goal of tor is to distribute through several relays; the anonymity is provided by a diverse set of relays, there’s also encryption.

Technical Problems

  • Performance and stability – It’s slow since it is distributed
  • Maintaining whole software ecosystem – forked Firefox
  • Research & training about anonymity
  • Reusability and modularity
  • Advocacy, education, and training around the world
  • Metrics, data, and analysis
  • Better private bridge mapping and distribution

You can block it – by finger print (e.g. look for tor traffic); block the list of relays that tor uses; these are public relays and you get private bridge relays as well to get around the public list blocked one.

Tor doesn’t solve all the problems; can’t protect you from other software and hardware; how do you make sure that it’s the right Tor without a backdoor?

Random Hacks of Kindness Project Categories

Tor Projects

  • Tor check correct config page
  • EFF relay challenge (check reachability for nodes)
  • OrBot - Tor for Android
  • Usability/instructions for obfsprox

Global & Local Data

  • Disaster relief & local open data sets; office of emergency management
  • Climate change – aerial photos, flood data, etc.
  • “Carfax” of Philly properties – office of property assessment
  • Social service tools – homelessness; local resource lists.
  • opendaatphilly.org – make suggestions for what to open in the future
  • NASA data sets – also open to suggestion

Non-profits

  • Helping people decide easier where to donate your time and effort
  • Smart aggregation – instead of looking at several sites; clean UI
  • Using social media; different impact tracking

0 comments

Agile software development helps a team focus on the most important tasks to accomplish a shared goal. Jason and I both use the methodology at work and have adapted the process to our daily living. We’ve become much more productive at both work and home and have used the process outlined below to plan our wedding, two moves, and career goals!

We are the “business owners” who decide what the most important tasks are to accomplish at any given moment. The tasks are prioritized in order of importance, which is based on our values and short to mid-term goals. Each weekend “sprint” we pick a theme, or a set of “user stories” (e.g. unpack kitchen, improve financial process, prep food for the week, plan a camping trip).

This has been a huge break through for us! We’ve traveled a lot the past few years and are always involved in community and personal projects. We used to feel buried and overwhelmed by the sheer amount of things we had to do, wanted to do, side projects, and long term planning that any family struggles with. The concept of a “backlog” of tasks itself was liberating. We know that what we want to accomplish is accounted for and will be addressed when it becomes important to handle. It moves these concerns off the “main thread” and allows us to focus on the present.

Technology
We use OmniFocus (family license) and have a copy on our laptops (both work & home) and on our iPads so that we can access the task list from the most convenient interface. We keep the database synced over my mobile me account (Preferences -> Sync -> Mobile Me). The backlog is the Library, user stories are tracked as projects, and tasks are added under a project.

The major challenge with our current model is that we have one database that covers all of our tasks. This gets a bit cluttered. Long term we plan to separate it into three different databases: mine, his, and shared. That way we’ll always have tasks that we need to do independently at hand and can plan for family tasks while at home. We’d also like to use email to add tasks and publish timely tasks to our shared Google calendar.

Have you applied any or all of these principles to your life? What did you find most effective? What tools do you use? Do you have suggestions on how we could refine the process?

0 comments

The arrival of pizza around 6:00 sparked conversations among the 38 geeks in attendance as they mingled and served themselves. We continued informal networking until 6:30, which gave plenty of time for stragglers to arrive before the meeting proper. This worked well and I plan to follow a similar pattern for future meetings.

Meeting Slides

Packaging and Releasing Android Applications
Drew Denardo the Senior Engineering Manager of the Android team at Comcast Interactive Media (CIM) gave a presentation/demo about packaging and releasing apps in the Android market. After his presentation, he answered many questions about managing a mobile team, CIM’s build process, testing considerations, release guidelines, market distributor selection, proguard pros & cons, and what it’s like to work at CIM. The members enjoyed his talk and kept him answering questions for nearly an hour!

Community Discussion
Following Drew’s presentation, we discussed what we wanted out of the organization. I stressed that our community will only be as strong as the members make it, and I have no doubt we will create some great things this year. Overall I was impressed with the feedback and look forward to making this the best tech group in Philly!

We collectively decided on a loose organizational structure to be headed by a steering committee. This committee will drive event planning, social events, and securing talks for meetings.

Members expressed interest in creating community events and partnering with other organizations. We discussed having a monthly speaker series (drawn from members’ experience), hackathons, Android bootcamps & workshops, and “office hours.” In addition, we decided on separate social events (e.g. happy hours, potlucks, and picnics) occurring between meetings (member or steering committee suggestions welcomed).

Post Meeting Activity

  • A partnership has been formed with CocoaHeads to host joint mobile office hours.
  • A steering committee has started forming on the Google discussion group.
  • Already discussing event ideas and upcoming community events.
  • Group cross-pollination and partnerships are starting to form.
  • Securing of speakers for next month’s meeting: It is shaping up to be a design and XML layout implementation theme.

Special Thanks
We greatly appreciate the sponsorship of space, pizza, and drinks from Comcast Interactive Media!

What do you think has worked for other groups you have participated in? What is the biggest problem you see with Android development/apps and how can we address that? Are you interested in becoming a member or part of the steering committee? Do you have suggestions on how we can increase diversity by reaching out to gaming, QA/test, design, and/or other tech groups?

2 comments