And I have one.
Okay, I will wait until you stop laughing…
Done? Feel better? Good.
I’d like to start by by apologizing for the length of this post. But I think it’s important and worth reading. Besides, it’s Friday => we’re all gonna screw off at some point. So maybe you can just swap reading this for viewing a couple of cat videos.
I think the premise stated in the Subject
line is true. As for actually having a killer app… well, I hope I do. (Just like everyone else, right?)
Octane
’s technical improvements are impressive. (Thanks to everyone who contributed!) But, as @locks has said, I don’t think marketing talks for Ember are interesting. So have Ember be the vehicle through which you deliver something interesting. Which @melsumner echoed when she said, The way to get people to want to use Ember is by making fun projects and showing them.
And a little while back, @mehulkar said, Now, more than ever, Ember should be working on a better experience for simpler apps, which has been a big selling point for Octane.
I think all of us agree with that. And to expand on it, I think the the most effective thing we can do to get Ember
back on the JS-framework radar is to blast through the misconceptions that are killing us: Ember
is difficult to learn, and that it is used only by large corporations with large software development teams – which leads people to think, “Desktop Only.”
These misconceptions were probably best distilled into one strong statement, which Gabby Jameson, a student, relayed in her talk at EmberConf 2017: she said her advisor told her that, Using Ember to build a blog is like using a rocket ship to cross the street.
Ouch.
This is what we’re up against.
So what if we had an Octane
app that we could point to in talks and blogs? Like @chriskrycho said awhile back, It’d be fantastic if crates.io ended up being another high-quality Ember
app that we could point to!
And what if this app was simple? And developed by just one person? And was getting hundreds of thousands (hopefully millions) of downloads per day? On mobile?!
Think about that, while I move onto the app itself…
I won’t go into detail about it here, but in general it is my attempt to get Big Money out of politics, specifically Congress. A quote from the book, So Damn Much Money: The Triumph of Lobbying and the Corrosion of the American Government that appears on the About Us
page says this:
We have a public that is just absolutely repulsed by everything that is going on in Washington. Essentially, they can’t stand all of the lobbying, they can’t stand all of the special interests, and they don’t think the public interest is represented.
I wrote the word “millions” up above, which I’m sure caused you to laugh. But I think you have to agree that millions of people do feel that way.
The front end is all Ember
, and has been fully Octanized
. (Or is that Octanified
?) Regardless, I think I got it all, but no doubt have missed some small things.
The back end is Rails 6
, with some of the major supporting players being MySQL, Devise, delayed job, redis/resque, Twilio
(text messages), SendInBlue
(emails).
It works on both desktop and mobile, in large part due to the work of @miguelcobain and the rest of the contributors to ember-paper
. (Thanks to all of you for a great job!) If you’re not familiar with that, it’s Ember’s implementation of Google’s Material Design
spec.
As far as it being a killer app with hundreds of thousands (millions!) of downloads per day – I think this is a real possibility, given what I said above, and the fact that all of the Democratic Presidential candidates have made the argument that this is one of – if not the - most important issue facing this country today. Heck, even The Donald
harps about draining the swamp, and all of his supporters definitely seem to be on board with that.
I know I’m biased, but I feel this app has a very real chance of catapulting into the Zeitgeist. And if it does, I honestly cannot think of a better vehicle to get Ember back into the thick of the JS-framework discussions.
Now people giving a talk or writing a blog can reference a well-known, simple, mobile app, which will cause people to say something like, Whoa, wait a minute. So StupidTuesday is an Ember app? I never would’ve guessed that. Maybe it’s time I took another look at Ember.
Related to this, I proudly display a Powered by Ember Octane
logo in the footer – which means a LOT of people could see that on a daily basis. And that footer-presence is probably something that most “real companies” would not allow. (NOTE: I know the footer needs tweaking, but since I’m not sure about the final color scheme, I did not want to waste time on something that is sure to change.)
So now what?
For now, I would like people to weigh in on this – about anything: the site, the concept, the assumptions, whatever. We all know how dangerous it is to develop something like this in a vacuum – and that is what I have done.
And later, I would like some help in both the technical (which includes usability) development/improvements of the app itself, along with promoting it (I am definitely not a social-media maven).
If the site sold T-shirts I could just hear the cynicism at this point: No shit he’d like some help. Because if this thing takes off he’s gonna get rich.
But that’s not the case. This is my “open source” contribution in the sense that it has been a labor of love, where countless unpaid hours have been spent in an effort to help others, not get rich.
And thinking about it, that’s another thing that could help Ember
: the fact that our kick-ass community got behind an effort that most would agree is probably the biggest threat to our democracy. And that’s important stuff.
So that’s pretty much it. I don’t have a detailed list of the help that I would need – that can be part of this discussion thread – but as a heads-up, I’m thinking, in order:
- Beta Test
Staging
- User Interface (No doubt a LOT here, but low-hanging fruit certainly includes improving the color scheme)
- Usability and Accessibility (I shamefully admit I did nothing for the latter)
- Promotion (Not yet; in fact, registrations are disabled on
Production
until at least some banging onStaging
has taken place)
And then the following, which will serve to improve mobile download times - with the last two being things I believe the Core
folks have their sights on anyway. (Maybe the site could be a good, simple, real-world, test vehicle for them!)
- Remove jQuery dependencies (need to find alternatives for some of my add-ons)
- SSR
- Code splitting
- Tree shaking
Thanks for taking the time to read and (hopefully) think about this. Color me corny, but I think the words “synchronicity” and “serendipity” come into play here. (We all have to look up the meanings of those two words, right? I mean, we all don’t know them off the top of our head, right?)
At roughly the same time:
-
Octane
lands -
StupidTuesday
is ready to be released - The big-money-in-politics issue is in the forefront of the candidates’ minds and speeches
- Millions of people are seriously pissed-off about this situation
Thanks,
Larry
P.S. I guess some website links would be in order…
Some background: Originally there was just one site for both normal users and admins: StupidTuesday.org
. It had a Rails
back-end, and the front-end was jQuery/jQuery-UI/jQuery-Mobile
.
Like most websites, I decided that a JS framework was the way to go for the front-end, especially since it looked like jQuery-UI
and jQuery-Mobile
were no longer being worked on.
I chose Ember
, and re-wrote the entire front-end in it. At first I tried to keep it all in one app/codebase, but in the end decided it made more sense to split it into two parts. I kept the lion’s share of the back-end intact, and modified portions of it to work with a separate Ember
app. (Which, in retrospect, was definitely the way to go.)
There was no need to re-code all of the admin functionality (which, like most apps, is substantial) in the Ember
app, so the Ember Octane
app is for normal users, and the original app is for admins. (It still retains its normal-user capabilities – I didn’t bother yanking them – but they are no longer used.)
The lesser-used admin portion is now specified by a bnc
subdomain, while the user-facing side is simply stupidtuesday.org
. Still needing staging
subdomains for both kept the confusion constant high, as now there are 4 URLs for basically just one website. (aarrgghh!)
Staging
contains fake data for everything, for just 4 states (no need for all 50).
Production
contains all 535 members of Congress, with over 14,000 real SellOuts
(the site’s coin of the realm). I wrote screen-scrapers to get this data, figuring that If you build it they will come. But not if it’s empty.
User -> Staging
: https://staging.stupidtuesday.org/ <Ember>
- Can log in with a username and password of
guest
, but would prefer folks go through the sign-up process, and then update their profiles and settings.
User -> Production
: https://stupidtuesday.org/ <Ember>
- You can view all of the real data for all of the real politicians without logging in
Admin -> Staging
: https://bnc.staging.stupidtuesday.org/ <jQuery>
-
Can log in with a username and password of
guest
. -
Will see most of the
admin
functionality. (There are 5 authorization levels:guest, member, reviewer, admin, stupid-admin
. This log-in confersadmin
capabilities.)
Admin –> Production
: https://bnc.stupidtuesday.org/ <jQuery>
- Fuhgeddaboudit