We received 12" of rain in about 2 weeks of February. This creek runs almost all through downtown Huntsville, and it overflowed its banks during the storms. The banks are about 20' high. The "creek" is normally about 12" deep, and probably 75' wide. Anyway, yesterday we biked along the access road and happened upon some mud puddles with #bass (?) struggling to survive. We scooped up as many as we could and threw them into the #river. We probably lowered the risk of global catastrophe by 6 bass and 2 dozen #minnows.. you're welcome.
And no trip to the #creek would be complete without letting the #dog swim up and down the creek chasing those #ugly #ducks they allow to reproduce. No, he never even got close.
Here’s the app I developed to experiment with Flutter, Little Tales. It’s an audio player for fairy tales, with content included and some specialised features. The first three screens with a dark theme are from the Android version, while those with a light theme are running on iOS.
This time last year I published an article with my impressions of React Native, which was all the rage in 2016 and 2017, with companies such as Facebook, Instagram, Tesla, Walmart, Airbnb, Skype and more investigating it, or even actually implementing apps (or subsections) with it.
But this year, React Native seems to be losing (or have already lost) much of its appeal, with some notable companies have announced they are abandoning it (check out this article by Airbnb’s Gabriel Peal, or this other one by Udacity’s Nate Ebel). Talking to developers and judging from what’s being published in articles, or from what recruiters look for on LinkedIn, it would appear that it’s just not that hot anymore. To be clear though, it’s not dead and the fact that it didn’t work so well for some companies doesn’t mean that it won’t work for others. Many of these companies used it on subsections of their apps rather than on all of it, which is one of the reasons it was so complex to use. However, one can’t deny that if big companies that contribute to the popularity of a technology (by writing about it and creating popular open-source libraries for it) eventually decide to leave it, it has an impact on the community. At the very minimum, teams that were previously on the fence about using it had an easier decision to make, using posts such as the above to back up their arguments.
But in 2017 something else happened. Google publicly released an early alpha version of its own cross-platform technology for mobile apps, Flutter, during the Google IO developers conference. Fast forward to this year’s conference and the brand announced that Flutter was ready for production and at the end of September it had a Release Preview 2. Read the full announcement on its blog — here are just some highlights:
1. The theme for this last release is pixel-perfect iOS apps (while the focus previously had mostly been on Android’s Material Design). 2. Note the app’s reduced package size, with a minimal Android app now just 4.7MB when built in release mode. 3. Flutter, which has been open-source since the beginning, entered the list of the top 50 most active repos on GitHub. 4. Some big companies are using it, such as as Alibaba (Android, iOS), Tencent (Android, iOS), and Google Ads (Android, iOS). There’s also a video on how Alibaba used Flutter to build its Xianyu app (Android, iOS), currently used by more than 50 million customers in China. 5. This chart shows how Flutter is getting a lot of momentum on Stack Overflow:
So, this intrigued me enough to check it out, understand what it is all about, and create a real application with it (because, as always, just reading the documentation is not enough to get a real feeling of something new). It definitely helped that the last Friday of the month at ASOS is Tech Develops, where the entire tech department — almost a thousand people — are free to investigate any new tech we’re interested in.
You see some screens (for both Android and iOS) at the top of this page, and can download the Android version from the Play Store — feedback is appreciated!
1. It’s an open-source software development kit (SDK), developed by Google, to quickly build iOS and Android apps, sharing most of the code. It works in conjunction with the Android and iOS SDKs, which also means you still need a macOS machine to build for iOS (just like you do for React Native and Xamarin). The installation for Android was very smooth for me — I just followed the instructions on the website and used the ‘flutter doctor’ command, but I initially had some issues with the iOS setup. This article by Laxman Sahni helped set it up correctly. 2. It uses the Dart programming language, also developed by Google. Yes, another language to learn but don’t worry, it’s super easy if you’re familiar with Java, JS, Kotlin, Swift or C#. 3. The application is compiled ahead-of-time into native ARM code, not at runtime as in React Native. This gives better performance because there’s no JS bridge in the middle to parse and execute the code. However it also means there’s no over-the-air update option by downloading a new bundle of JS code at runtime. 4. Rather than being a wrapper on top of the iOS/Android-specific native UI components (which is what React Native and Xamarin do), it really draws the UI from scratch on a ‘screen canvas’, through a fast C++ 2D graphics library called Skia (which also serves as the graphics engine for Google Chrome, Chrome OS, Android, Mozilla Firefox and Firefox OS, and many other products). The Skia project started back in 1996 and was acquired by Google in 2005, although it’s released under the BSD license and anyone can use it. This has huge consequences — I talk more about this in the pros and cons sections below. 5. Similarly to React Native, Flutter is also based on a ‘unidirectional data flow’ architecture, or reactive programming, briefly but clearly explained here by Elizabeth Denhup. In even fewer words, the app reacts to user input by changing variables/properties (or more generically, the ‘state’ of the screen or view), and the UI is re-rendered according to the new state. Functions don’t change the UI (the colour of button, the text of a label, the content of a list, etc.), directly. 6. Again, similarly to React Native, there is hot reloading (thank God!). You just change something in the code editor, save, and the UI refreshes on the Android emu or iOS sim. It’s so convenient and fast that it’s hard to go back once you try it and it makes up for the fact that the UI is created programmatically and therefore there’s no visual editor for it. 7. Flutter is extensible with third-party plugins that add new custom-drawn UI components or wrap platform-specific features not already covered by the built-in classes (eg: for video/audio, monetisation, storage, camera, augmented reality, machine learning etc.). Here’s the best collection of plugins I’ve found. There are many, but not as many as you might need. 8. Linked to the previous point, Flutter makes it relatively easy to write platform-specific code by either executing different code after checking Platform.isIOS and Platform.isAndroid (if there’s a difference in the UI widgets you want to instantiate, or logic in your .dart file), or by writing your own native plugins (if you really need to wrap platform-specific functionalities not provided by Flutter already). 9. Also linked to point 7, performance should not be a problem for typical apps (at least in release mode — debug mode is significantly slower because it uses a virtual machine to run Dart code), as the UI is written by a fast low-level C++ lib, and other functionalities map to their native counterparts. However, you must do it right, by minimising the number of redraws and by redrawing only parts that actually depend on the changed state. Refer to this article by Andrea Bizzotto and this other one by Simon Lightfoot to find out more. 10. You can use any text editor and the flutter command to write and build apps, but the recommended approach is to use one of the editors that support the Flutter plugin, namely Android Studio (my choice), VS Code or Intelli J. This gives you intellisense, autocompletion, some debugging tools and spares that you need to use the command-line to compile/run the apps.
To get a sense of the performance and the look and feel of a Flutter app in comparison to a Native app, just download the Flutter Gallery app from the Play Store (and maybe look at its source code on GitHub). Also, refer to the Widget Catalog page in the official docs.
You do know the movie ‘The Good, the Bad and the Ugly’, right?
Bonus: This is an advantage of any cross-platform technology in reality, not just Flutter, but I’m still going to mention it: creating an app for both platforms at the same time makes it much easier to keep them aligned at all times. With the traditional development process, you might launch both platforms at the same time and with feature parity but then after a short while you realise that one platform is performing better than the other (in terms of downloads, sales, ad revenues, …). Then you start cutting costs on the other, which means that one is partially left behind.
Also taken from the movie…really, watch it if you haven’t already. (Or maybe I’m just old and you’re too young to like these things, who knows).
1. As mentioned a couple of times already, Flutter paints the UI on its own custom way, it doesn’t create native components. It does a very good job at replicating Android’s Material Design and also iOS-specific components with its Cupertino library but it’s still not native under the hood. This has a few implications, such as: (A) If iOS 13 changed the way a segmented control or a UISwitch is rendered, your Flutter app that uses CupertinoSegmentedControl or CupertinoSwitch would keep the old look until Flutter is updated and you rebuild it. One can argue that many users wouldn’t care (most of my non-techy friends wouldn’t care and wouldn’t even notice, for example, they’d just care about the app looking pretty enough rather than whether it’s 100 per cent consistent with the OS’s pure look and feel), but it might be a deal breaker if you’re a purist. (B) If you plan to use Flutter for just a section of an existing app (which is covered here in Flutter’s wiki, here in an article by Tomek Polański, and here in an article by Jan Reehuis), you might see a difference between the native part and Flutter part. Again, this might bother you (and your users) or not. Much less of a problem for new apps that are 100 per cent Flutter of course. (C) To make things as easy as possible for you as a dev, and assuming that your users don’t care about the native look of the app, you could just use MaterialApp (which uses Material Design components) and compile it for both Android and iOS. It will work fine, despite the non-native appearance, and it is in fact what I did for my app. If, instead, you do care about this, and decide to use MaterialApp for Android and a CupertinoApp for iOS, you’ll be duplicating most if not all the code for your UI (which can be a considerable part of your app), and you’ll make the architecture more complex. Consider this carefully and decide if it’d be worthwhile. 2. Here is a decent list of great looking UI components and other plugins on GitHub, but it’s nowhere as rich as the plugins you can find for React Native and even Xamarin. It’s probably just because Flutter is much newer and with a smaller community but that’s how things are at the moment. Choices are limited, and many plugins are old, not maintained, and maybe don’t even work anymore with the current Dart/Flutter versions. Some components (especially non-UI ones, that map platform-specific features) are only available for either iOS or Android, but not both (typically they support Android, because Android devs are more into Flutter than iOS devs at the moment, since Flutter comes from Google). It’s true however that filling in the gaps and writing the platform-specific code just for the missing platform is still better than starting from scratch and things will improve for sure if Flutter keeps getting more and more popularity. 3. Debugging is not at its best. You can use the print/debugPrint statements, look at logs, and use tools to profile the CPU/memory or visualise the view hierarchy, but we’re on a different planet in comparison to what you do in Xcode or Android Studio working with the native SDKs. (More about your options in the official docs here.) 4. The error screen or logs that you get when there’s a layout error (or something else at a lower level) can be very confusing and obscure, as it points to some line of code of the framework that is maybe many levels of abstractions below what you directly interact with. On native iOS and Android, errors are usually clearer to understand, and, if not, you can typically just copy and paste the full error on Google and be reasonably confident that you’ll get a useful list of links that tell you more. With Flutter, since the community is still relatively small, not so much. 5. Creating the UI programmatically (in the same .dart files where your code for the screen is) is easy and direct. It also means there’s not much separation. I would prefer to create the UI with markup code (similar to what you do in native Android apps) in separate files. 6. On Android, the vast majority of developers use Clean Architecture and MVP (model-view-presenter). On iOS, it can be MVC, MVVM (model-view-viewmodel) or Viper. In both cases (but even more for Android) there are clear and well known architectural patterns that have proven to work well for large apps. For Flutter (and React Native as well), it feels like it’s all still being defined, there is no ‘standard’ or ‘almost-universally-accepted’ architectural approach. All articles show simple samples, which is normal because they still need to take people onboard before talking about more advanced aspects. However, if you plan to use Flutter for a rather large project, it would be preferable to have a clear idea of how to structure it, so that it’s scalable and easily maintainable as the app grows in size and complexity. I highly recommend watching this video from Brian Egan to start looking deeper into this (it covers layering your code, Redux and testing) and checking out his samples on GitHub. I also recommended this article about Streams and RxDart by Didier Boelens and these other posts about Redux and overall architectural review. Again, I’m definitely not saying Flutter doesn’t allow you to build apps with a clean and maintainable architecture, but just that there’ll be some trial /error / experimentation / study involved, as it’s not something as mature and widely used as what we’re accustomed to in native iOS/Android apps.
I could almost copy and paste what I wrote last year about React Native, but instead, here’s the link to it again. To summarise: there’s lots of potential, it’s very easy to get started and actually create something real, and there are many good principles and ideas. However the community is still small and bits and pieces are missing in terms of cross-platform plugins, or there is not much choice in the best case. Also, you must be OK with the fact that you won’t have a 100 per cent native-looking UI, and that if you want to at least be as close as possible for both iOS and Android, your code and structure will get more complex.
Personally, I think this is a very useful technology (that you can already use) for those situations where:
1. You must be as quick as possible to reach the widest user base possible — say a startup that is starting from scratch and wants to release for both platforms. See if there’s traction in one or both, and then invest more, polish things etc. You could see this as a very advanced prototype, which can be further polished later still staying on Flutter or replaced by a native version and a dedicated team. 2. The UI is not the biggest concern anyway — for example Enterprise/B2B apps, where you want to have a line-of-business app that employees/customers can use with any type of device, but aren’t too concerned about it being consistent with everything else in the OS ecosystem. This is what Groupon did for its app for merchants (but not end users), for example.
What I can say in closing is that creating my first simple app has been very enjoyable for the most part, and even though I have developed quite a few iOS and Android native apps in the past, I’m sure it took me less time to create this one in Flutter (albeit I started with no knowledge of it) than what it would have taken me to create two separate native apps. Not bad, I’d say! Who am I and what do I do? I proudly work as a solutions architect in the Mobile Team @ ASOS.com (iOS app | Android app), and we’re always looking for skilled, friendly and talented developers that want to have an impact on how customers shop online. ASOS is the biggest online-only retailer in the UK and, let’s be real, the best tech and fashion company in the world. Some of the technologies we use are Swift for iOS, Kotlin for Android, React and Node on the web front-end, .NET and Azure on the back-end. Flutter (and React Native before this) is just my personal experiment. If that sounds interesting to you and you happen to live in beautiful London (or are willing to move here — after all, it’s the best city in Europe, except for some in Italy!), do get in touch! References
#1080 is good they say, 1080 is safe they say, 1080 works they say NO IT DOESNT IF IT DID THEY WOULDNT HAVE HAD TO USE IT FOR 30 YEARS AND STILL NEED IT 1080 IS LAZY AND AGAINST THE MAJORITY OF NZS OPINION 1080 is pest control for the people disguised as pest control against introduced species like the deer and possum and rat for their 'destructive habits' on the native forests and killing the odd young native bird baby. This country is being systematically poisoned by our own corrupt govt in favor of their own corperate advances.... Show more...
Back in 2015, we at Phat Beets Produce received a curious email from a “startup” produce company serving the East Bay in California, who wanted to partner with us to “support the work you do.” As a nonprofit dedicated to food justice, we work with small farmers of color and young entrepreneurs through a variety of youth programs and our small-scale “BeetBox” CSA–a community service agriculture enterprise that links local farmers to consumers in low-income neighborhoods. We were intrigued.
This op-ed was contributed by Phat Beets Produce, an American food justice collective based in North Oakland, CA, and Food First, a “people’s think tank” dedicated to ending the injustices that cause hunger and helping communities to take back control of their food systems—also based in Oakland.
The company turned out to be Imperfect Produce, a business that buys up “ugly” produce from large agribusiness for resale at a discount through a subscription box program. Three years later and with a 30-percent drop in customers at our Beet Box CSA, we realized that we were being out-competed by a startup with a glitzy marketing campaign and venture-capital funding. This corporate-supported agriculture was avidly commodifying agribusiness’ food “waste” and had little to do with supporting the community.
Our BeetBox CSA supports small farmers of color mostly farming under 50 acres, including a one-acre youth farm at an Oakland High School. Before Imperfect Produce arrived, the BeetBox profits allowed us to supply produce to under-resourced neighborhoods, support free community meals programs and supply free fruit to a variety of youth programs. We provided food for the Self-Help Free Produce Stand, and a Rx Prescription Veggie Voucher Program at Children’s Hospital in Oakland, as well as free home delivery for EBT/SNAP/food stamp customers.
Related: You say “CSA,” I say “food hub”
Within months of its arrival in the Bay Area, Imperfect Produce fliers were showing up on our car windows, its outreach coordinators were pitching at community meetings, its Facebook advertisements popped up daily in our feeds, and it was edging into community centers we had operated at for years. The marketing blitz paid off. Soon, Imperfect’s single-use cardboard boxes began lining the streets on recycling and garbage days in the East Bay. We lost customers, a lot of customers.
BeetBox subscriptions have fallen so much we’ve had to cut back on many of the food justice programs that our CSA proceeds had previously supported. Our moral economy was being gobbled up by a hungry start-up parading as a social enterprise.
The commodification of need
Imperfect Produce claims it’s saving the world by reducing food waste—and helping farmers by buying surplus “ugly” produce that would have been thrown out. Sounds great. The reality is that this produce would have otherwise gone to food banks, to be redistributed for free. As social safety nets continue to get slashed and incomes stagnate, more and more people are turning to these food banks to access this imperfect produce. Imperfect Produce (the startup) is cutting into this same surplus, rebranding it, boxing it up in single use cardboard boxes and making a profit off of the desires of “conscious” consumers who want to reduce food waste.
On the Frequently Asked Questions section of its website, Imperfect Produce claims that the California Food Banks only take 150,000 pounds per year of produce from California’s farmers as a donation, implying that the rest is going to waste. But the California Association of Food Banks says it receives and redistributes 164 million pounds of fruits and veggies each year! Something smells about this strategy, and it’s not the compost.
Further gentrification of the food system
Imperfect Produce reflects a very troubling trend that is undermining local, small-scale farmers and food justice initiatives, a trend that commodifies and gentrifies food waste. The company has helped to create a market for the “waste” created by industrial agribusiness, selling it to conscious (rather than needy) buyers by branding it as a form of environmental activism. This produce used to be readily available to food banks but now that “ugly” and “imperfect” produce can turn a profit, they are less available to those in need. Those with limited access to fresh produce are at risk of no longer accessing free, fresh produce through the food bank and their affiliate distribution channels. Small, local, and urban farmers are losing their CSAs—their lifeline to economic viability.
Supporting farms or agribusiness
Imperfect Produce isn’t rooted in a community economy, but the free market, investors, and higher-income consumers.
Ben Simon, co-founder of Imperfect Produce, spoke about scale to U.S. News & World Report: “ [The]farmers we work with have to have enough volume for it to really make sense. We want to be able to source at least a truckload from these growers each week, so they have to be at least midsize in most cases.” Imperfect Produce is only able to make a profit by working with the larger global agribusinesses, not the picturesque small and mid-sized farms it projects in its marketing campaign. The company donates the ‘leftovers of their leftovers’ to nonprofits and the very place that surplus produce would’ve gone to in the first place, food banks. The only thing Imperfect has done is fulfill its bottom line by creating another market for agribusiness’ systemic overproduction. It’s a clever money making scheme, but it certainly doesn’t help small, local farmers or address the source of waste: overproduction by industrial farms as they produce the “perfect” produce sold in supermarkets.
A case of sour grapes?
Some may claim we have a case of sour grapes. This is capitalism at its best, they might say. While Imperfect Produce has always been a friendly bunch willing to donate its surplus, it sells a market solution disguised as activism, undermining alternative economies and social justice initiatives like those implemented by Phat Beets. The company does this by commodifying food that would go to the poor for free, while branding itself as an ethical solution to food waste. Unlike CSAs, it isn’t rooted in a community economy, but in the free market, investors, and higher income consumers. Small farmers and poor communities lose out in the process.
There is no simple answer to how we deal with food waste, but commodifying it is not the solution. The U.S. food justice movement was built on the shoulders of the Black Panthers’s Free Breakfast/Meals program and the work of the United Farm Workers that is over 50 years old, and comes straight out of North Oakland and the Central Valley of California. Following in their footsteps, our partners at organizations such as Self Help Hunger Program, Food Not Bombs, Mother Wright, Qilombo, The Village, Poor News and many others are rooted in these tried and true means of healthy food distribution for the people by the people.
“It was an initiative for the visibility of women’s sport,” the club announced.
“It was not meant to expose girls to undeserved criticism.”
We all know the #majority of #women’s sports is boring. Nobody wants to see them play because they’re just not on the level. The Italian club has no problem acknowledging this and made a move that will #benefit both #male and #female #athletes… by making the girls do what girls like the most: #get-attention.
Of course, people say that this #debt is "good debt" because you can #resell the home - and the mentality is that, for some crazy #economic reason, #homes are supposed to increase in #value almost automatically. But for me it's not that simple.
Some people cannot sell their #home due to #market situations. I know one man who decided to move out of his large home now that his children are grown. He thought it would sell quickly. But he has had no luck selling or even #renting out his house because he lived in a #rural area with no jobs. Now he is drowning in debt due to trying to pay a #mortgage #payment (for the house he can't sell) in addition to renting a smaller place!
But even if you are in a good position to resell your home, you still have to spend a lot of money on it in order to attract #buyers. #Renovations, #lawn upkeep, #repainting, the list goes on and on. That's not to mention #propertytaxes (which increase as you make the home more attractive to buyers!) and #insurance.
Compare "home ownership" to #stock... as a form of investment. If I have a #brokerage account and I buy stock (or some other traded #commodity), I don't have to worry about property #taxes or insurance. And I certainly don't have to spend my own money to maintain my stock shares - in fact many of them will pay ME #dividends! So I simply hold on to my stock #shares until I want to #sell back onto the #secondarymarket. Hopefully I can sell while the value is up so that I earn a #profit. Very simple, very cost effective, and potentially very profitable. AND no #borrowing from the #bank!
If the agencies are profitable in selling these absurd "#securities", then the money goes back to the US #Treasury (which of course means more public money for #warfare and other evil empire activities). And if the agencies are not profitable, then the US Treasury instead bails them out (which means using our #tax dollars as well as billions of dollars of government debt!).
I, for one, refuse to support this political madness.
There are so many lifestyle reasons that I don't believe in the #Americandream of "home ownership".
For one thing, in the past few decades, the housing bubbles have truly made my country #UGLY.
My heart aches when I see the ugly landscape of #American #suburbs. They are filled with dystopian panoramas of hideous mass-produced cookie-cutter low-quality houses that you can't even tell apart. I am grateful every day that I did not grow up in this bizarre alien landscape. And it's not just the stupid planned "#neighborhoods" - it's also the suburban #sprawl of big-box stores and other real-estate speculator/developer wet dreams.
I love real #architecture so I would NEVER punish myself to live in such a stupid environment.
And it makes me so angry that people are so #mediocre that they would be content to live like that and allow these companies to get rich off of making our #cities UGLY. But of course they don't care because they just want to buy the house in order to "resell" it later (i.e. get an even bigger mortgage loan!) for another Instagram-worthy #superficial dwelling.
And because the #banks have convinced people that "homes are an #investment", people don't buy homes to STAY IN. Almost no one plans to stay in the same house their whole life. So the companies that #mass-produce these ugly #buildings take advantage of it - they make cheaply produced houses with no regard for #energy efficiency, #environmental #sustainability, or longevity.
Of course this means that homeowners must work even harder to maintain their cheaply produced homes to attract buyers, which means countless hours of free time WASTED on completely stupid projects like repainting everything, installing new bathroom sinks, etc JUST FOR APPEARANCE!!! Imagine all the hours of time for a #homeowner spent on boring and menial "home maintenance" that could instead be spent learning a new #language or visiting #nationalparks or doing other enriching activities.
Meanwhile homeowners are never free to really personalize their housing. People believe that when they buy a house they can "make it their own" but it's a lie. If you want to get rid of your environmentally destructive #lawn and grow a #garden instead, the #city will come after you for violating some sort of #municipalcode. Same if you want to collect #rainwater or start an open #compost pile. If you want to put up #solarpanels, the city will probably demand that you obtain a permit ($$). And heaven forbid you try to exercise #freedomofexpression. Imagine how a Homeowners Association would respond if I put up a sign saying "#FreePalestine" in my yard. Being a homeowner means #CONFORMITY.
And sadly even if I #behave and #obey all the #rules and live a #boring mediocre suburban lifestyle, the government can STILL take my house away through #eminentdomain!!!!! They do this all the time - many people had to move when the interstate highways were built and nowadays people are forced to move because the government is trying to help #oil companies get access to even more #land to build #pipelines that could ruin our #water!!!!!!!!
When it comes to lifestyle, I don't want to be told what to do by anyone. And I want to be #free to move (hence the name #nomad!). There are so many #amazing #sights to see and places to #explore. There is so much #history and #culture in the #world for me to witness. Being a homeowner won't help me live a fulfilling life.
Back in 2015 we at Phat Beets Produce received a curious email from a startup produce company serving the East Bay who wanted to partner with us to “support the work you do.” As a non-profit dedicated to food justice, we work with small farmers of color and young entrepreneurs through a variety of youth programs and through our small-scale BeetBox CSA–a community service agriculture enterprise that links local farmers to consumers in low-income neighborhoods. We were intrigued. The company turned out to be Imperfect Produce, a business that buys up ugly produce from large agribusiness across the globe for resale at a discount through a subscription box program. Three years later and with a 30% drop in customers at our BeetBox CSA, we realized that we were being out-competed by a startup with a glitzy marketing campaign and venture-capital funding. This corporate-supported agriculture was avidly commodifying agribusiness’ food waste and had little to do with supporting the community.
A carrot in bed with an eggplant
Our BeetBox CSA supports small farmers of color mostly farming under 50 acres, including a one acre youth farm at an Oakland High School. Before Imperfect Produce arrived, the BeetBox profits allowed us to supply produce to under-resourced neighborhoods, support free community meals programs and supply free fruit to a variety of youth programs. We provided food for the Self-Help Free Produce Stand, and a Rx Prescription Veggie Voucher Program at Children’s Hospital in Oakland, as well as free home delivery for EBT/SNAP/food stamp customers.
Within months of its arrival in the Bay Area, Imperfect Produce fliers were showing up on our car windows, their outreach coordinators were pitching at community meetings, their Facebook advertisements popped up daily in our feeds, and they were edging into community centers we had operated at for years. Their marketing blitz paid off. Soon, their single use cardboard boxes began lining the streets on recycling and garbage days in the East Bay. We lost customers, a lot of customers. They were edging into community centers we had operated at for years BeetBox subscriptions have fallen so much we’ve had to cut back on many of the food justice programs that our CSA proceeds had previously supported. Our moral economy was being gobbled up by a hungry startup parading as a social enterprise.
The Commodification of Need
Imperfect Produce claims they’re saving the world by reducing food waste–and helping farmers by buying surplus ugly produce that would have been thrown out. Sounds great. The reality is that this produce would have otherwise gone to food banks, to be redistributed for free. As social safety nets continue to get slashed and incomes stagnate, more and more people are turning to these food banks to access this imperfect produce. Imperfect Produce (the startup) is taking a cut into this same surplus, rebranding it, boxing it up in single use cardboard boxers and making a profit off of the desires of conscious consumers who want to reduce food waste. The reality is that this produce would have otherwise gone to food banks, to be redistributed for free On their Frequently Asked Questions section of their website, Imperfect Produce claims that the California Food Banks only take 150,000 lbs per year of produce from California Farmers as a donation, implying that the rest in going to waste. The California Association of Food Banks say they receive and redistribute 164 million lbs of fruits and veggies each year. Something smells about this strategy, and it’s not the compost.
Ugly produce or imperfect produce
Further Gentrification of the Food System?
Imperfect Produce reflects a very troubling trend that is undermining local, small-scale farmers and food justice initiatives, a trend that commodifies and gentrifies food waste. The company has helped to create a market for the waste created by industrial agribusiness, selling it it to conscious (rather than needy) buyers by branding it as a form of environmental activism. This produce used to be readily available to food banks but now that ugly and imperfect produce can turn a profit, they are less available to those in need. Those with limited access to fresh produce are at risk of no longer accessing free, fresh produce through the food bank and their affiliate distribution channels. Small, local and urban farmers are losing their CSAs–their lifeline to economic viability.
Supporting Farms or Agribusiness?
Ben Simon, the co-founder of Imperfect Produce, spoke about scale to the U.S.News & World Report, “ [The]farmers we work with have to have enough volume for it to really make sense. We want to be able to source at least a truckload from these growers each week, so they have to be at least midsize in most cases.” Imperfect Produce is only able to make a profit by working with the larger global agribusinesses, not the picturesque small and mid-sized farms they project in their marketing campaign. They donate the ‘leftovers of their leftovers’ to non-profits and the very place that surplus produce would’ve gone to in the first place, food banks. The only thing the company has done is to fulfill their bottom line by creating another market for agribusiness’ systemic overproduction. It’s a clever money making scheme, but it certainly doesn’t help small, local farmers or address the source of waste: overproduction by industrial farms as they produce the perfect produce sold in supermarkets. Imperfect Produce is only able to make a profit by working with the larger global agribusinesses, not the picturesque small and mid-sized farms they project in their marketing campaign A Phat Beets youth-supported garden in Oakland
A Case of Sour Grapes?
Some may claim we have a case of sour grapes. This is capitalism at its best. While Imperfect Produce has always been a friendly bunch willing to donate their surplus, they sell a market solution disguised as activism, undermining alternative economies and social justice initiatives like those implemented by Phat Beets. They do this by commodifying food which would go to the poor for free while branding themselves as an ethical solution to food waste. Unlike CSAs, they aren’t rooted in a community economy, but the free market, investors, and higher income consumers. Small-farmers and poor communities lose out in the process. While Imperfect Produce has always been a friendly bunch willing to donate their surplus, they sell a market solution disguised as activism, undermining alternative economies and social justice initiatives like those implemented by Phat Beets There is no simple answer to how we deal with food waste, but commodifying it is not the solution. The US food justice movement was built on the shoulders of the the Black Panther’s Free Breakfast/Meals program and the work of the United Farm Workers that is over 50 years old, and comes straight out of North Oakland and the Central Valley of California. Following in their footsteps, our partners at organizations such Self Help Hunger Program, Food Not Bombs, Mother Wright, Qilombo, The Village, Poor News and many others are rooted in these tried and true means of healthy food distribution for the people by the people.
Re-invest in community! There are plenty of amazing local producers and distributors such as Mandela Foods, Urban Tilth, Freedom Farmers Market, Farm Fresh Choice, among many others to support and invest in through a simple internet search. In addition, Phat Beets Produce is launching an online store to host farm-based, youth-made products from across the Bay as add-ons to the BeetBox CSA. We are re-investing in local programs, reinvesting in our community, expanding our 1 acre youth farm with our community partners, strengthening our community partnerships and distribution network and asking for our communities’ support and investment. Join us investing in Restorative Economics, Youth jobs and Local foods at www.phatbeetsproduce.org/beetbox.
About this article
This article was written by the crew at Phat Beets Produce with collaboration and input from Food First.
Phat Beets Produce is part of Oakland Communities United for Equity and Justice, a 501c(3) non-profit. Phat Beets aims to create a healthier, more equitable food system in Oakland and beyond by providing affordable access to fresh produce, facilitating youth leadership in health and nutrition education, and connecting small farmers to urban communities via the creation a CSA, community farm stands, markets, and youth entrepreneurship. Learn more at PhatBeetsProduce.org
Food First is a “people’s think tank” dedicated to ending the injustices that cause hunger and helping communities to take back control of their food systems. Our work both informs and amplifies the voices of social movements fighting for food justice and food sovereignty. Learn more at FoodFirst.org
eeeeeewwww! I wouldn't want THAT. I mean she's a dumb cunt for sure... but no one DESERVES to be raped. Besides, I doubt you could find that many men on the entire planet who would even for a split second want to be with the likes of her. Not including muslims of course. #ugly #hag