00:00:23.840
I want to talk about open source. It really goes without saying, especially to this community. Open source is incredibly important; it allows us to focus on the truly essential parts of our applications by building upon amazing foundations. I can't think of any large-scale application I've built recently that doesn't utilize about half of this stack. If you don't build on these foundations, you're very likely to fail because they are fantastic.
00:00:50.480
That's why I've been doing open source for 152 days and counting. Partly, it is to give back, and partly, it serves as a way for me to learn a lot of new things quickly. Learning new things, such as hardware, is exciting because it yields cool results with relatively little effort. I've even built some rather pointless projects, but hey, the world needs a Euro-lengthening project; you can thank me later.
00:01:05.920
Prior to this journey, I wasn't really doing any open source work at all. This was mostly due to a project called ConductIO, which I started while learning AngularJS and Ruby on Rails. I wanted to excel at those technologies, so I restricted myself from working on any other projects in my spare time. Unfortunately, this project suffered from significant delays due to shipping failures.
00:01:29.439
The mobile version and the API were never quite ready, and the documentation was lacking. I was overly attached to it and did not release it. Eighteen months went by with no work on other projects, and I started to feel incredibly demotivated. Eventually, that cycle was broken when I released Kevlar—this tiny project I spent an hour building, and tens of thousands of people started using it. That reinvigorated my excitement.
00:01:41.439
I went on to build another project for the JavaScript group I run, which was a real-time polling system. This too gained widespread use, with hundreds of thousands of people employing it. Further, even a French university utilized it during their student elections, which was amazing. At that point, I decided to open source everything, scouring through my old hard drives to find tools and projects I had worked on and putting them all online.
00:02:01.360
This experience taught me several valuable lessons, including the importance of shipping early. The first version of Kevlar had a terrible user experience, but it was better than the version that never launched. So, I advocate shipping early and often. I wished I had done the same with ConductIO because, after 18 months of work, when I finally put it live, nobody ended up using it—not even me.
00:02:25.040
Now, this GIF isn't really related to the talk, but I think you'll agree it's awesome! Another lesson I learned was that working on other people's projects exposes you to new processes and different perspectives. During this time, I completed 24 pull requests and realized that languages I had previously considered less appealing could be quite amazing.
00:02:42.840
Don't be afraid to share your ideas—most people aren't out to steal them. I find I have more time for new projects because everything is open source. If someone wants to scale my projects to a billion users, they can take it and run. This allows me to focus on new things that excite me.
00:03:00.000
Nevertheless, doing open source work every day can be quite challenging due to the time constraints. I have to find time to write and participate in events, leaving me less time for coding, which is the downside. That said, I've been Adam Butler. Thank you very much.
00:03:14.720
Now, moving on, my name is Claire, and my Twitter handle is Caitation—spelled with a 'K' because Ks are cool! I work for a digital agency called Yumi in Sheffield, primarily dealing with charities, particularly those focused on mental health and young people's issues.
00:03:28.960
In this position, I've been reflecting on data and the kind of information we ask our users to provide. A lot of this data is incredibly sensitive, something very close to my heart. One of my main interests is understanding how we can ask users about their gender, as this can be quite complicated.
00:03:48.440
The issue arises because not everyone fits neatly into the male or female categories. This talk serves two purposes: to highlight that forms can be quite problematic and to educate you about non-binary gender identities in under four minutes. Studies suggest that between one and five percent of the UK population identifies with some form of gender variance. This can include intersex individuals, those with chromosomal or physical differences, and those who identify as transgender or non-binary.
00:04:19.600
Understanding these identities is crucial as they may not have clear official identification that aligns with their gender expression. Many transgender individuals may be open about their identity with friends but not with employers. We must be cautious, especially since transitions in identity can happen frequently, and official documentation may not be accessible. Thus, we must be mindful of how we collect and manage this information.
00:04:56.000
During a UX conference talk, I clarified that I am not a designer, which drew some chuckles. The main point I want to make is the importance of privacy. This is critical when it comes to sensitive data; always clarify which fields are visible or not. Avoid using titles as a workaround for gender categories, as this can be misleading and frustrating for users.
00:05:16.800
For instance, avoiding asking whether someone is 'Mr.', 'Mrs.', or 'Miss' does not solve the issue of gender identity. There is, however, a proper gender-neutral title, 'Mx.' (pronounced 'Mix'), which is recognized by various institutions like the DVLA and banks.
00:05:56.000
When collecting user data, think about what is truly necessary. Rather than adhering to traditional gender norms, consider asking for pronouns or physical characteristics. Create a system that allows users to freely change their identities, recognizing that many may shift between different identities throughout their lives.
00:06:31.520
In this digital age, users value privacy, particularly when the data they provide can significantly impact their lives. Thus, it's essential to communicate clearly about how this information will be used and protect their confidentiality.
00:06:56.000
A major challenge arises when identity changes aren't legally documented, making it a sensitive topic. The current system in the UK mandates that passport identification must be male or female, which doesn't accommodate people's real experiences.
00:07:19.440
I gave this talk at a UX conference and had to admit I wasn't a designer—something that might oppose conventional design practices. It's crucial to be honest about how you handle privacy, especially for sensitive data.
00:07:46.648
Don’t use titles as a workaround. For instance, asking for 'Mr.' or 'Ms.' doesn't address the complexities of gender identity and can further alienate non-binary users. Instead, consider implementing a title option that includes 'Mx.' as a legitimate choice. Lastly, reconsider whether you genuinely need to ask for gender at all; focusing on how users self-identify can provide a better experience.
00:08:09.680
For organizations looking to engage user participation, providing a menu of titles upfront is an ideal way to ease users into disclosing this kind of sensitive information. It’s essential to carefully manage how you present these options and convey that respect for individuals' wishes regarding their personal identifiers.
00:08:40.320
There are various ways to approach requesting gender information. Many organizations are moving towards allowing users to freely define their gender from a broad range of options rather than limiting them to binary choices. If you're interested in this topic, consider documenting such methods as there are many organizations working towards this.
00:09:00.400
Now, I want to talk about some open-source projects I’ve been working on. I've got three projects to share with you, but I have to rush through them because time is limited. The first one is an e-commerce engine that handles standard e-commerce functionalities.
00:09:34.320
It’s small and straightforward, ideal for those who want to understand e-commerce without the complexity of larger frameworks. I used Spree for six years, and this project is designed with a European context in mind, featuring built-in VAT handling. It's very user-friendly with extensive documentation, including both user and development guides.
00:10:00.640
After that success, I decided to build a Ruby virtual machine—a project I had always envisioned. I was curious why existing virtual machines didn’t utilize Ruby as the base language, especially since Ruby is seen as a superior language. It took some effort, but I managed to clean up some existing gems and get a simple 'Hello World' running in just four weeks.
00:10:40.000
The process of creating a Ruby-based virtual machine was both challenging and enlightening, mainly because Ruby has its own complexities. I am currently writing a book on it as I make progress with developing a virtual machine that can execute Ruby code without the need for C.
00:11:11.360
In addition, I am picking up the project called 'Vicky' that focuses on maintaining a Ruby on Rails component called Golem, initially started with a partner. However, I find myself taking the lead on this project now.
00:11:32.600
With just a short time left, I want to reiterate the three projects I’ve been working on. Please feel free to reach out if you have any questions or want to dive deeper into any of these topics.
00:11:54.080
I also want to finish off with a small confession: despite the association with Ruby, my interests extend toward understanding how the internet functions. I spent years reading RFCs while avoiding social interactions.
00:12:06.880
So, to give you a brief overview of how the DNS works, when my laptop wants to make a web request, it checks its local hosts file first. If it doesn't find anything there, it queries the local DNS server. This usually gets configured automatically through DHCP, allowing it to connect to a DNS server.
00:12:43.440
If that server can't answer the question immediately, it'll communicate with its peer DNS servers or the root DNS servers effectively to resolve the request. Each root server is responsible for managing top-level domains, relaying correct information to find any specific domain.
00:13:10.640
Once the information is relayed properly, the DNS server will cache the resolution, making it available for future requests, thus speeding up the connectivity for users.
00:13:45.120
This process illustrates the pivotal role that DNS plays in internet navigation as it continues to grow in complexity alongside the web.
00:14:10.960
As we work forward with new technologies like blockchain and cryptocurrency, understanding these fundamental systems will be crucial.
00:14:50.960
I briefly want to mention the next-generation payment systems, particularly focusing on technologies like Bitcoin. This new mode of transaction relies on a push rather than a pull system and utilizes public key cryptography.
00:15:12.320
A crucial distinction is that every transaction is authorized with a private key, transforming traditional transaction methods into a more secure option.
00:15:38.400
For microtransactions, Bitcoin offers a unique characteristic of having minimal transaction fees, allowing for economic viability in transactions that wouldn't otherwise be feasible due to traditional fees.
00:16:06.560
As we explore these new systems, we can consider developing advantageous features that enhance performance and security across different use cases.
00:16:32.560
Finally, if you're interested in diving into Bitcoin's open-source ecosystem, downloading the Bitcoin daemon is a step towards understanding how these systems operate and participate.
00:16:58.000
This is just a brief overview of the Bitcoin environment, and I encourage you to explore and engage further. Thank you all for your time, and I'm excited to see where our journeys with technology take us!