#

Does 0.1 Mean “Usable” or “Useful”?

In the time since my last post about making an Android app, I’ve had some time to re-familiarize myself with the process of mobile development. A lot has changed since CAB Manager, a project from just two years ago. Users have come to expect higher-quality apps. On the whole, Android development has gotten a lot better, from the SDK to the APIs, and everything in-between. Nerdy geeky code stuff is not for this post, though.

The exigency for the creation of this app is two-fold. Besides wanting to learn more Android, I want to make my own life easier. That may sound selfish, but it’s a totally great reason, I swear! I recently moved to Boston, Massachusetts. A great aspect about this place is the train system, which seems to go just about everywhere around. But this T (subway) thing presents a problem, however: How the heck should I know when the next train will be coming around?

During my first few days, I would simply open Google Maps, find the station I wanted by doing a text search, and tap it to see train arrival times. This soon proved to be inadequate for me. It is quite a process to view the transit times for a station, even if you save (star) it. It befalls good software to do one thing well. For Google Maps, that thing is maps, not transit times. The problem lies in the interface, which gives rise to the UX question: How to best present train times to the user, given arrival times being the highest priority?

I cannot lay claim to the invention of such an idea. ProximiT is an iPhone app which has this idea down pat. I was made aware of it by a co-worker. It’s awesome, but I don’t aim to simply copy it. The UI and UX patterns of Android and iOS do not have 100% overlap. Rather, my app will be heavily inspired by the work done by the ProximiT team, hopefully resulting in a similarly great experience on the other side of the smartphone world. I’ve made a decent amount of progress so far, but until now, I wasn’t sure what version I should call this.

According to Semantic Versioning, a program should generally become “production-ready” at version 1.0(.0). Of course, sometimes—okay, frequently, programmers ignore this rule. NodeJS, which meets every one of Semantic Versioning’s criteria for 1.0, is currently stable at version 0.12.7. By contrast, Google Chrome is currently at version 44.0.2403.157. The differences between 43 and 44 are incredibly minor. Like, what gives, guys?

I’m going to attempt semver with this. The current state of my app is somewhere between “useful” and “usable.” It is definitely useful in the sense that it is useful to me; the app displays (seemingly reliably) the current MBTA subway schedule, albeit in an extremely limited fashion. Only the stations which I use on a regular basis are listed, and only in the more “important” (to me) direction. This bare-bones behavior is suited more to a proof-of-concept than a user-ready experience. It also lacks all manor of visual hierarchy and design. The important thing, though, is that it’s a thing which does a useful thing, so I proudly christen this app as T Time 0.1!

Not production ready…not even close.

Further development is in progress. Check back soon, y’all.

https://chrisknepper.com/2015/09/does-0-1-mean-usable-or-useful/

Getting Back into Android

It’s been over a year since the last time I’ve created an app for Android. “App” is being used in a rather loose sense here, because said app, CAB Manager, was created and designed for a very small (15-30) group of people within a single university. While it served its purpose and was well-liked by its users, at the end of the day, it was simply too esoteric to warrant publication.

Although there have been some recent issues involving the Android platform, I still regard it as superior to the competition. I like that Android development is more accessible and open than iOS. Its SDK is available on Windows, OSX, and Linux. The fees for app publication are lower. The content rules on the Play Store resemble a democratic forum, contrasting with the App Store’s gulag-esque model, the content guidelines for which contain such risible gems as:

Apps that include games of Russian roulette will be rejected

It’s a great time to work with Android! In addition to the established phone and tablet platform of Android, there is a nascent array of Android devices which await great apps: Wear, TV, and Auto. Each of these device types are used in quite different contexts, yet in many situations, connect with more traditional mobile devices in different ways. For example, Google Maps’ navigation feature would make a lot of sense with Wear and Auto, but perhaps not so much with TV. Play Music, on the other hand, would be useful with all three.

In the time since CAB Manager, there have been a lot of changes with the platform: The introduction of Material Design, the release of Lollipop, and the official deprecation of the Android Eclipse plugin in favor of Android Studio, just to name the most resounding. In light of this, I’ve chosen to start from scratch, beginning with setting up Android Studio and running the BlankActivity Hello World on my phone.

I’ll post more as I develop the app, which will be my attempt at porting the functionality and interface of an existing iOS app to Android.

https://chrisknepper.com/2015/08/getting-back-into-android/

More Than Three Final Answers

When does code you create become copyrighted?

As soon as it is fixed in a tangible medium.

If you could wave a magic wand, and open source any piece of proprietary software, what software would you choose?

Windows!

If the software above was open sourced, would it’s company remain stable? How would the company continue to make money?

Yeah, by selling support, custom hardware, and services/other software which tie into it.

What do you feel like was the most beneficial thing to learn in the class?

The ridiculousness of copyright and software patent laws, and their encumbering of innovation.

Explain the some of the motivations a company may have to open source software?

Helps them make sure their software is bug-free, outsources some labor, and it’s great PR!

Are there any changes you would suggest making to the profile template? What parts did you find most interesting or important?

Tailoring them specifically to the type of entity being profiled.

If you could have spent more time, say an extra week, on any topic, which would you have liked to cover more in depth?

Creating our own open-source company (as a group project).

Why are you using license insert license X here for your open source project?

MIT. For the free spread of knowledge to anyone, without restriction.

If you would suggest a video to be watched as part of this course, what would it be?

Richard Stallman eats something… (NSFL)

https://chrisknepper.com/2015/05/more-than-three-final-answers/

Tasting the Finish Line

Today I finished the last regular class session for my undergraduate degree from Rochester Institute of Technology. All the expected feelings are present: pride, accomplishment, satisfaction, fatigue, anxiety, and nostalgia. Yet, as close as I am, it’s not quite over yet.

I had a terrible assistant principal in high school. Total jerkface, nepotistic, with an uncouth sister-in-law (who also taught at the school) and a penchant for being a real buzzkill. But he did have one insightful thought this one time:

Don’t walk across the finish line. You’ll regret it as soon as you cross.

That quote haunts my memory and it has rung true for me throughout my undergraduate career. I currently sit at the second annual HomeStretch Hackathon, an event sponsored by MAGIC at RIT. I covered the first instantiation of this event last year, embracing the presence of peers and pizza. The premise has not changed: Finish final work for the semester, get free pizza, and get extra credit.

I’ll be working on finishing up some assignments for my Business and Legal Aspects of FOSS course…and a few other classes…all of them (/neglect). I’ll also be hacking on noted, an exciting project masterminded by some friends at RIT. It’s gonna be a great time, but how could it not be with buffalo chicken pizza and free software?

https://chrisknepper.com/2015/05/tasting-the-finish-line/

Three Final Questions

1. Given the hostility of governments towards proprietary software companies in the recent past, will there ever be laws mandating a level of openness in certain kinds or implementations of software systems?
2. The realm of software is expanding rapidly. A year ago, there was no class specific to the business aspects of FOSS. Now there is also a class concerning the culture of FOSS. Will we have more non-programming-centric FOSS classes in the future?
3. Businesses exist primarily to create profit. At times, the interests of FOSS and the interests of business may not align. How can businesses protect their profits, while maintaining as much loyalty as possible to FOSS principles and the FOSS community?

https://chrisknepper.com/2015/05/three-final-questions/

US Navy Onions (Profile)

Rationale

Tor is an important project which helps users in oppressive countries circumvent Internet censorship. It also allows people to create and access “hidden services” which are not accessible via the regular Internet. It is one of the most widely-known open source projects. With the current focus on computer security, Tor is quite relevant.

Organizational Details

  1. Is the subject of your profile a corporate entity?
    1. Yes.
  2. What type?
    1. The Tor Project, Inc is a Massachusetts-based 501(c)(3) research-education nonprofit organization
  3. When was it founded?
    1. December 2006
  4. By whom?
    1. Roger Dingledine and Nick Mathewson
  5. Original founder(s) still active?
    1. Yes
  6. Publicly Traded? Since when? Initial Stock Price? Current stock price?
    1. Nope, nope, nope.
  7. Has the company made any acquisitions? If yes, which companies, and what were their core products?
    1. Not that we could find.
  8. Has the company made any investments in other companies? If yes, which ones.
    1. No.
  9. Number of Employees?
    1. There are currently 64 people listed on their core people page. It is unclear which of these people are employees or volunteers.
  10. Where is HQ?
    1. Massachusetts
  11. Does it have any other offices or locations?
    1. No.
  12. Website?
    1. https://www.torproject.org
  13. Wikipedia?
    1. http://en.wikipedia.org/wiki/The_Tor_Project,_Inc
    2. http://en.wikipedia.org/wiki/Tor_%28anonymity_network%29
  14. Does your organization file any annual reports? Please include links to any relevant documents (i.e. 990, Annual Report, Year in Review, etc…)
    1. https://www.torproject.org/about/financials.html.en

Communications

  1. Does your subject participate in social media? If yes, please list a URL for each account, and reach within that community. (i.e. Twitter: @RedHatNews – 61.9K Followers.
    1. https://twitter.com/torproject
    2. https://blog.torproject.org/category/tags/social-media
  2. What communication channels does your subject use to reach their public? Briefly describe and include a URL for each.
    1. See above and Community Architecture section below.
    2. http://www.raspberrypi.org/forums/
  3. Does your subject organize or participate in any conferences? If so, list them here, and provide links to any relevant sessions, keynotes, or content.
    1. https://blog.torproject.org/category/tags/conferences

Community Architecture

Your subject likely runs or contributes to one or more Open Source products or projects. Choose one (or more) of these and answer the following questions:

If applicable, list and provide links to:

 

  1. Describe the software project, its purpose and goals.
    1. The Tor network is a group of volunteer-operated servers that allows people to improve their privacy and security on the Internet.
  2. Give brief history of the project. When was the Initial Commit version? The latest commit version?
    1. Initial commit – 20 September 2002, Latest commit – Within the last day. Continually being worked on.
  3. Who approves patches? How many people?
    1. The project leads approve patches for each project.
  4. Who has commit access, or has had patches accepted? How many total?
    1. 135 people have contributed and ~15 have commit access.
  5. Has there been any turnover in the Core Team? (i.e. has the top 20% of contributors stayed the same over time? If not, how has it changed?)
    1. No there hasn’t been a change in the core team.
  6. Does the project have a BDFL, or Lead Developer? (BDFL == Benevolent Dictator for Life)
    1. Nick Mathewson
  7. Are the front and back end developers the same people? What is the proportion of each?
    1. Yes?
  8. What have been some of the major bugs/problems/issues that have arisen during development? Who is responsible for quality control and bug repair?
    1. http://en.wikipedia.org/wiki/Tor_%28anonymity_network%29#Weaknesses
  9. How is the project’s participation trending and why?
    1. Participation is trending upwards simply because of it’s popularity and the humanitarian benefits of the project.
  10. In your opinion, does the project pass “The Raptor Test?” (i.e. Would the project survive if the BDFL, or most active contributor were eaten by a Velociraptor?) Why or why not?
    1. No. 80.3% of all commits are by 2 people. 50.3% by ONE GUY.
  11. In your opinion, would the project survive if the core team, or most active 20% of contributors, were hit by a bus? Why or why not?
    1. No. 80.3% of all commits are by 2 people. 50.3% by ONE GUY.
  12. Does the project have an official “on-boarding” process in place? (new contributor guides, quickstarts, communication leads who focus specifically on newbies, etc…)
    1. https://gitweb.torproject.org/githax.git/
  13. Does the project have Documentation available? Is it extensive? Does it include code examples?
    1. See the links above.
  14. If you were going to contribute to this project, but ran into trouble or hit blockers, who would you contact, and how?
    1. #tor-dev on IRC!
  15. Based on these answers, how would you describe the decision making structure/process of this group? Is it hierarchical, consensus building, ruled by a small group, barely contained chaos, or ruled by a single or pair of individuals?
    1. Ruled by a small group for sure.
  16. Is this the kind of structure you would enjoy working in? Why, or why not?
    1. Yes, although imo more people should have commits.

Technology/Product (Section adapted from EFF Worksheet)

  1. Who invented, created, or sponsored the technology?
    1. Roger Dingledine and Nick Mathewson
  2. What is the technology designed to do? How is it used?
    1. Provide Internet anonymity to anyone, especially users in countries with censored Internet.
  3. Who would benefit from using this technology?
    1. Anyone who needs to avoid oppression, tracking, or needs to say or post something that, for whatever reason, cannot be tied to their real identity.
  4. What kinds of companies or organizations (stakeholders) might have been concerned about the development of this technology? Why?
    1. Mainly security companies and governments. “Why” is really an existential question and the answer lies in our society’s reliance on computers; things pertaining to security/anonymity/authentication and the circumvention of those things is of paramount interest to the security field and governments.
  5. Does/Did an aspect of copyright law play a role in controversies about the technology? How?
    1. Not really. Onions are copyright 145-66 Ma nature.
https://chrisknepper.com/2015/04/us-navy-onions-profile/

Breaking the First Two Rules

This past Tuesday, author and anthropologist Gabriella Coleman came to RIT and talked to a sizable audience about a decreasingly esoteric subject: Anonymous. That makes perfect sense, given that she recently wrote a book covering its history, entitled Hacker, Hoaxer, Whistleblower, Spy: The Many Faces of Anonymous.

The concept of Anonymous (as an Internet group) is relatively new (in terms of human history, not Internet history), and most people only have indirect or secondhand experience with it; through TV news reports, “official” Twitter accounts, or occasionally, at protests. Writing about Anonymous has been done quite a bit, so I won’t spend time doing so here.

Honestly though, what’s more important than the group Anonymous is the concept of anonymity on the Internet.

From The New Yorker cartoon by Peter Steiner, 1993.

Anonymity has been an important component in online discourse since before I was alive. It serves as an important creative outlet for expression that, due to a variety of reasons (social, physical, economical, etc…) cannot be expressed IRL. It removes the “chilling effect” when something controversial, offensive, or provocative needs to be said.

The prospect of losing the ability to be anonymous online is a worrying prospect, especially considering statements like this, from Facebook Marketing Director Randi Zuckerberg:

I think anonymity on the Internet has to go away. People behave a lot better when they have their real names down.

Unfortunately, Ms. Zuckerberg seems to conflate “behaving better” with complacency. We need anonymous discourse, be it civil or uncivil. Attitudes like Ms. Zuckerberg’s seem to reflect the pervasive incapability of people in my age group (millennials) to be subjected to uncomfortable ideas or thoughts. Young Americans live some of the most comforted lives in the world, rarely, if ever, faced with real threats like starvation or genocide, yet tend to lose all ability to function over reading vapid online opinions or discomforting Tweets.

Even when we don’t like what is said, we need to affirm the right to say those things. Anonymity is sometimes used to spread hate speech and facilitates trolling, which can make it harder to defend as a concept. But why should that be? The inability to deal with unpleasant ideas is a sign of immaturity. A contemporary rap artist has already come up with a genius solution to the pitfall of unpleasant online speech:

I haven’t read her book, but during her talk, Gabriella made the case for why Anonymous is good for society (they are). But whether or not you support Anonymous, you should support online anonymity. It is essential to the Internet as we know it: A place where things can be said that cannot be said elsewhere. While there is “harm” that results from it, we must bear that cost for the greater good to society.

https://chrisknepper.com/2015/04/breaking-the-first-two-rules/

Good Luck, We’re Behind 7 Proxies (Team Proposal)

Team Proposal

List your other team members below

Name email
Caleb Coffie csc6972 (at) rit.edu
Wyatt Winters wxw7813 (at) rit.edu
Derin Yarsuvat misterberu (at) gmail.com
Joe Trotta 42istheanswer.whatsthequestion (at) gmail.com
Chris Knepper chris82thekid (at) gmail.com
Kathleen Tigue kat1219 (at) rit.edu

Which Entity did your team choose to profile?

Tor/The Tor Project, Inc.

Description of the Organization?

The Tor Project, Inc. is a non-profit research organization which is responsible for the development of Tor.

Description of the project?

Tor is a widely-used piece of anonymity software which allows users to obfuscate/anonymize their perceived location and identity online. It routes connections through several “layers” (relays, a.k.a. nodes) of computers, which change frequently, preventing easy identification of a user.

Describe each team member’s role?

All group members assist with research, compilation of information, and presentation production.

Organization/Project Source Code Repository URL?

Tor Project

What do you anticipate the easy parts will be?

  • Everything! Except perhaps…

What do you anticipate the hard parts will be?

  • …The government parts

How will you overcome both?

Using the resources of IRC, Wikipedia, and people in the group having experience with the project.

If something goes wrong, what contingencies do you have in place?

Ask for help in IRC.

When will your group meet regularly outside of class time?

Any day we don’t have class (Monday/Wednesday/Friday), as well as virtually through the internets.

https://chrisknepper.com/2015/04/good-luck-were-behind-7-proxies-team-proposal/

Kickstarter (Profile)

Rationale

<wip>

Organizational Details

  1. Is the subject of your profile a corporate entity?
    1. Yes.
  2. What type?
    1. Privately held.
  3. When was it founded?
    1. April 28, 2009.
  4. By whom?
    1. Perry Chen, Yancey Strickler, Charles Adler
  5. Original founder(s) still active?
    1. Yes, though they’ve hired a lot more people since then!
  6. Publicly Traded? Since when? Initial Stock Price? Current stock price?
    1. Nope, nope, nope.
  7. Has the company made any acquisitions? If yes, which companies, and what were their core products?
    1. Not that we could find.
  8. Has the company made any investments in other companies? If yes, which ones.
    1. Not that we could find.
  9. Number of Employees?
    1. 112 according to their gorgeous team page.
  10. Where is HQ?
    1. Brooklyn, New York City, New York, USA
  11. Does it have any other offices or locations?
    1. No.
  12. Website?
    1. https://www.kickstarter.com/
  13. Wikipedia?
    1. https://en.wikipedia.org/wiki/Kickstarter
  14. Does your organization file any annual reports? Please include links to any relevant documents (i.e. 990, Annual Report, Year in Review, etc…)
    1. We couldn’t find them.

Communications

  1. Does your subject participate in social media? If yes, please list a URL for each account, and reach within that community. (i.e. Twitter: @RedHatNews – 61.9K Followers.
    1. https://twitter.com/kickstarter (980K Followers)
    2. https://instagram.com/kickstarter/ (40.7K Followers)
    3. https://www.facebook.com/Kickstarter (1.1M Likes)
    4. https://vine.co/Kickstarter (22.3K Followers)
  2. What communication channels does your subject use to reach their public? Briefly describe and include a URL for each.
    1. The above social media accounts.
    2. Their website
    3. Their company blog
    4. Their engineering blog
    5. Happening
  3. Does your subject organize or participate in any conferences? If so, list them here, and provide links to any relevant sessions, keynotes, or content.
    1. Backing and Hacking
    2. Engineering Meetup
    3. Presence at RubyConf, RailsConf

Community Architecture

Your subject likely runs or contributes to one or more Open Source products or projects. Choose one (or more) of these and answer the following questions:

We chose Pebble the smartwatch, which was funded through Kickstarter.

If applicable, list and provide links to:

 

  1. Describe the software project, its purpose and goals.
    1. The Pebble smartwatch was created to redefine what a watch can be. It was one of the first smartwatches in existence. It bridges the gap between the information you can get on a watch vs. a phone.
  2. Give brief history of the project. When was the Initial Commit version? The latest commit version?
    1. The first Kickstarter was launched April 11, 2012, with the first watch being shipped in January, 2013. There was a more recent Kickstarter to fund production of a new version of the watch (Pebble Time), which launched on February 24, 2015. The Pebble Time has not been released yet.
  3. Who approves patches hardware revisions? How many people?
    1. Eric Migicovsky, Founder and CEO of Pebble, and inventor of the watch has a big say. According to the company’s LinkedIn page, Itai Vonshak is the Head of Product, while Mark Solomon is the Head of Industrial Design.
  4. Who has commit access, or has had patches accepted? How many total?
    1. Not applicable.
  5. Has there been any turnover in the Core Team? (i.e. has the top 20% of contributors stayed the same over time? If not, how has it changed?)
    1. The original people are all still at the helm.
  6. Does the project have a BDFL, or Lead Developer? (BDFL == Benevolent Dictator for Life)
    1. No, although Eric Migicovsky probably won’t step down anytime soon.
  7. Are the front and back end developers the same people? What is the proportion of each?
    1. Not applicable.
  8. What have been some of the major bugs/problems/issues that have arisen during development? Who is responsible for quality control and bug repair?
    1. Not applicable.
  9. How is the project’s participation trending and why?
    1. Pebble is doing quite swell! The Pebble Time Kickstarter raised about $20 million, which is double the original, which seems to indicate its popularity. Wearables are an exploding technology, which Pebble is a large part of.
  10. In your opinion, does the project pass “The Raptor Test?” (i.e. Would the project survive if the BDFL, or most active contributor were eaten by a Velociraptor?) Why or why not?
    1. Most likely. Because the concept of a smartwatch is already established and the Pebble has many competitors, neither the Pebble itself, nor smartwatches would be in any danger if Mr. Migicovsky were tragically eaten by a reptile of any sort.
  11. In your opinion, would the project survive if the core team, or most active 20% of contributors, were hit by a bus? Why or why not?
    1. Possibly. As previously mentioned, the product already physically exists. It would be devastating to lose the CEO and designers, but since it is so popular, and was crowdfunded, others would probably be able to pick up the (time)pieces.
  12. Does the project have an official “on-boarding” process in place? (new contributor guides, quickstarts, communication leads who focus specifically on newbies, etc…)
    1. See links to developer resources above.
  13. Does the project have Documentation available? Is it extensive? Does it include code examples?
    1. See links to developer resources above.
  14. If you were going to contribute to this project, but ran into trouble or hit blockers, who would you contact, and how?
    1. Well the only real way to contribute would be to fund their next Kickstarter…
  15. Based on these answers, how would you describe the decision making structure/process of this group? Is it hierarchical, consensus building, ruled by a small group, barely contained chaos, or ruled by a single or pair of individuals?
    1. Ruled by a small group for sure.
  16. Is this the kind of structure you would enjoy working in? Why, or why not?
    1. Yes, the innovative mindsets of the Pebble team have given us a cool product which has inspired competition from very large names. Plus, Pebble sounds like a great place to work.

Technology/Product (Section adapted from EFF Worksheet)

  1. Who invented, created, or sponsored the technology?
    1. <wip>
  2. What is the technology designed to do? How is it used?
    1. <wip>
  3. Who would benefit from using this technology?
    1. <wip>
  4. What kinds of companies or organizations (stakeholders) might have been concerned about the development of this technology? Why?
    1. <wip>
  5. Does/Did an aspect of copyright law play a role in controversies about the technology? How?
    1. <wip>
https://chrisknepper.com/2015/04/kickstarter-profile/

Getting Kicks From Crowdfunding (Team Proposal)

Team Proposal

List your other team members below

Name email
Derin Yarsuvat misterberu (at) gmail.com
Joe Trotta 42istheanswer.whatsthequestion (at) gmail.com
Chris Knepper chris82thekid (at) gmail.com
Kathleen Tigue kat1219 (at) rit.edu

Which Entity did your team choose to profile?

Kickstarter

Description of the Organization?

Kickstarter is an organization which allows people to openly pitch product, project, and business ideas to the world, get funding for their ideas, and give rewards to the people who fund (“back”) the project. The platform also facilitates communication between the creators and backers throughout the development of the project.

Description of the project?

Kickstarter facilitates its crowdfunding platform through its website, kickstarter.com, through which projects are posted and contributions are accepted. The platform lets creators show assets (images, videos, etc…) related to their project, give information about the planning and timeline, and declare how much funding they need.

Describe each team member’s role?

All group members assist with research, compilation of information, and presentation production.

Organization/Project Source Code Repository URL?

Kickstarter
Kickstarter @ Github

What do you anticipate the easy parts will be?

  • Getting information about the website
  • Getting information about notable projects
  • Getting information about the team behind Kickstarter

What do you anticipate the hard parts will be?

  • Getting information about the organization (financial filings, history, etc…)
  • Understanding the relationship between Kickstarter and FOSS/FOSH/Bizleg concepts

How will you overcome both?

It should easy to overcome any challenges we might face, given the size and relevancy of the organization. Since Kickstarter is pretty much entirely Internet-based, anything we need for the profile should be quite easy to find via the Internet.

If something goes wrong, what contingencies do you have in place?

Ask for help in IRC.

When will your group meet regularly outside of class time?

Any day we don’t have class (Monday/Wednesday/Friday), as well as virtually through the internets.

https://chrisknepper.com/2015/04/getting-kicks-from-crowdfunding-team-proposal/