Posted
about 10 years
ago
by
glazou
My technical world changed a bit recently with a few events that directly
impacted me or the activities of my company, Disruptive Innovations:
Mozilla shows increasing signals that the future of XUL as a platform
for embedders like my company is not
... [More]
bright. XULRunner has many users
around the world but it's not part of the roadmap any more,
unfortunately. I won't discuss here their corporate strategy. My
applications BlueGriffon and BlueGriffon EPUB Edition being based on
XULRunner and my business being largely based on them, it would be a bit
foolish to avoid looking for an alternative...
I have not found a single solution allowing me the flexibility of
XUL+JavaScript in native desktop and/or mobile cross-platform apps;
there are hybrid solutions for mobile, almost nothing for desktop in a
cross-platform fashion.
the two only potential solutions, Qt on one hand and AdobeAir on the
other, do not satisfy me for the following reasons:
Adobe Air is nothing near native,
Qt is a big and powerful beast, hard to learn and master.
Apple's Swift looks nice and powerful but cross-platform is not a word available in the Apple ecosystem.
I have discovered Haxe. Haxe is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities. If you know ECMAScript and/or Java, you'll find Haxe fun and easy to master. I started playing
with it and fell in love with its beauty, simplicity, and the large
numbers of packages available.
In such cases, I take a few sheets of paper and start writing ideas. I
have put a lot of ink on a dozen of originally blank pages and tested a
few designs. I want, I need a very simple, flat learning curve way of writing standalone cross-platform native apps. And if the existing ecosystem can't give me such a tool, well, I do what I always do in such cases: I write my own... So I started writing my own environment for
native desktop and mobile applications.
My requirements were the following ones:
all UI specified in html5, of course, with the help of role attributes... Maybe I'll add a XUL-like
language too just for migration purposes.
UI styled by CSS, eh what did you expect?
resulting native UI
code in Haxe of course compiled to native!!! Assets not trivially
readable like with JS...
trivial embedding of Haxe-based gaming frameworks
trivial embedding of a browser instance (Blink, Servo, etc...). When I
say trivial, I really mean it. If you've played with CEF, you probably
understand that this is not what I mean.
no ugly hacks to deal with OSX menus or Windows icons.
dynamic UI changes based on DOM manipulation just like in XUL
very simple localization
a "Hello world" button in a native window should be a one-minute
thing. No big environment to install, no complex setup, no new IDE to
learn. You know html5? Just put a <button> inside a
new document's <body> in your favorite code editor,
open a terminal and type "quaxebuild". Done, you have a native app in
hands, ready for distribution.
The result will be Quaxe. Native desktop
and mobile applications with native UI from html5 and Haxe.
I am glad to share with you the first demo screenshot below. The app was
launched through a open bin/mac/MyFirstTest.app command line
on OSX. Just to be very clear, there is NO BROWSER WINDOW in the
screenshot below. The app is only a native resizable main frame containing
a native button. It's specified in html5, you can access and modify its
DOM but it's not your regular browser, there is no Blink, Gecko, Servo or any Web rendering engine inside. There is no common runtime either, à la Adobe Air. It's very, very lightweight despite of having to implement a xml parser, DOM4, a CSS parser, the whole CSS cascade and an OM for the widgetry.
As you can see above, it's already taking shape. If you're an investor and you're interested,
please do not hesitate to contact me at your convenience. Writing native apps is going to be way cooler and simpler than it is now, that's a promise. [Less]
|
Posted
about 10 years
ago
Last month I passed four years at Mozilla. At the time I joined there was a large influx into Mozilla Corporation as it went on a hiring spree, increasing the number of employees greatly.
For many years at Mozilla I had my head down, focused on
... [More]
delivering code and deadlines. Driven by my own imposter syndrome, I aimed to be as productive as possible. Hammering out code on Addons and then the Marketplace.
These days that feels less and less like a valuable role for me.
A few weeks ago I was looking at a chart in Mozillas intranet that shows how long you've been at Mozilla. For me it looks like this:
All it really means is that I'm old and I've been at Mozilla a while. Length of time at Mozilla doesn't really mean a whole lot, beyond that. What it did make me realise is that those group of employees who joined with me are becoming the elders of Mozilla. More than ever, we shape how Mozilla Corporation operates and help the culture.
It feels like I need to take on more responsibility for Mozilla and the way it operates. For example:
making sure Mozilla takes the right direction
calling out when Mozilla makes a mistake internally
helping out when Mozilla does something wrong externally
worrying about the mission and ensuring that we do things that focus on the mission
ensuring people at Mozilla (including myself) are good to each other
I've seen these things be corrected within Mozilla, not by managers, but by the other employees who care about the organisation.
I've done that some times, but really not enough. Its easier to focus on some of lines of code, solve a problem and repeat. Now its time to put my head above the parapet more and take some shots.
We are the elders of Mozilla, time to start acting like it. [Less]
|
Posted
about 10 years
ago
by
Callek
If this is on planet.mozilla.org, and so is a “content is password protected” post below it, I’m sorry.
The post is merely that way because its unfinished but I wanted to share it with a few others for early feedback.
I’ll delete this post, and unhide that one once things are ready. (Sorry for any confusion)
|
Posted
about 10 years
ago
by
Asa Dotzler
Ten years ago, tonight, this is what I was working on.
Join us in celebrating the launch of Mozilla Firefox 1.0. Tomorrow, Tuesday, November 9, from 2-7pm PST (that’s 22:00-03:00 GMT), we will be hosting AIR MOZILLA live from the Mozilla Foundation
... [More]
HQ, a 5 hour web event, including a live webcast and text chat. The show will feature interviews and discussions with key Mozilla staff. Questions from the audience (including the media) from the chat room will be fed into the show. The event will be hosted here at http://www.spreadfirefox.com. You’ll need QuickTime for the audio streaming. We’ll also use both IRC and a web-based text chat solution.
When:
2-7pm PST, 22:00-03:00 GMT. That’s 22:00-03:00 on Tuesday night in Germany. In Japan, that’s 07:00-12:00 Wednesday morning.
Where:
Here at http://www.spreadfirefox.com. If Spread Firefox gets overwhelmed by the high traffic, head on over to http://www.mozilla.org/airmozilla.
What:
Live webcast + text chat with key Mozilla people.
Yep, not only is it the 10 year anniversary of Firefox, it’s also 10 years since the inaugural Air Mozilla “broadcast”.
We’ve come a long way. So much more still to do :D [Less]
|
Posted
about 10 years
ago
by
Benjamin Kerensa
Today is an important day because today we celebrate a decade of Firefox. Yep, that’s right. Firefox 1.0 was released 10 years ago today. I can’t imagine what the Internet would be like today if Firefox had not existed for the past decade, but I can imagine what the future of Firefox looks like and […]
|
Posted
about 10 years
ago
by
sole
Oh hey, here’s another belated post from Sole! But at least it didn’t take me a full whole year to write ^_^
We hosted the first ever Firefox OS Bug Squash Party at Mozilla London (also known as MozLDN) last week, thanks to the initiative of
... [More]
Francisco and Guillaume that mostly brainstormed it all with support from Valentin Schmitt.
Saturday
Francisco asked me on Friday to intro the event, and run through the basic security guidelines etc as I had done that before for other events that I had hosted at MozLDN (like ladieswhocode).
That was a great opportunity to show GIFs so I accepted enthusiastically!
Since this was going to be a somewhat long event we wanted to make sure no one misbehaved, so I made it VERY CLEAR what was right and what was wrong. I not only mentioned we had a code of conduct but also read it aloud (as it was reasonably short) and gave very explicit examples of “what NOT to do”. Then I also added it to the top of the etherpad we were using to coordinate and share content, so that even late comers could be aware of the “house rules”.
I’m particularly happy with how the code of conduct ended up looking so here is it—feel free to copy and use it in your own events:
***CODE OF CONDUCT***
Don’t be a jerk
This is a safe space
We’re here to learn and help each other
– Feel free to ask any questions
– No question is too silly
– Respect other people’s questions
– Respect other people’s background
– Don’t make assumptions—always ask
– If someone asks you to stop doing something… stop doing it!
NOT acceptable
– Sexist, racist, offensive comments/jokes/imagery
– Harassment of ANY kind
We’re building a community together
Good communities are made of diverse people
– Developers
– Designers
– Testers
– Users
– Fans!
Anyone violating these rules will be sanctioned or expelled at our discretion
Health and Safety rules and MozLDN general “don’t be gross and clean after yourself” rules were a bit more boring so if you want to look at them just look at the slides! (code for the slides).
After going through the schedule it was time for Francisco’s epic Setting up the development environment session which was a good challenge for the WiFi network (Gaia is a huge project) and for those of us not familiar with Windows computers. Argh! (details are left to the imagination of the reader).
.@mepartoconmigo explaining how to set up your development environment for Firefox OS pic.twitter.com/mGQEDy23LP
— GIF comedian (@supersole) November 1, 2014
Despite that we got pretty much everyone set up and ready to go just in time for lunch, so we decided to stop for lunch and continue afterwards with Guillaume’s session on how to run and debug Firefox OS apps using WebIDE.
And WebIDE shows up… Finally! with @g_marty on the"decks" ;-)
@MozLDN Firefox os bug squash party pic.twitter.com/V4oFxJPrVZ
— GIF comedian (@supersole) November 1, 2014
Wilson was also around and he brought this weird device hacked to be able to “DIY Dual SIM”:
DIY dual SIM phone pic.twitter.com/sobUJF2ThV
— GIF comedian (@supersole) November 1, 2014
(I think it was a Cloud FX phone?)
Also about that time Wilson got in touch with Leo, another Mozillian, who knew how to operate the A/V equipment and between my limited knowledge and Leo’s remote wisdom we managed to connect to the Mozilla Paris office, who were holding a similar event at the same time!
We can see @MozillaParis in our big screen! Hiiii from @MozLDN! pic.twitter.com/HJLqPvhlCa
— GIF comedian (@supersole) November 1, 2014
Our space seemed a tad busier than theirs (we had ~35 people I think), so we joked a bit about that, but despite Paris having less people they ended up submitting more patches, teeheehee! So Dietrich named this Firefox OS Co-opetition! But I’m anticipating events…
The rest of Saturday was spent getting familiar with Gaia code, squashing more bugs, etc. At some point the first patches were ready, and Francisco took to the stage again to show how the process for code reviewing a patch worked, also how to run tests, ensure the patch actually fixes what it is meant to fix, etc.
We got some patches already! @mepartoconmigo makes a live code review @MozLDN pic.twitter.com/xWxO0Kix7V
— GIF comedian (@supersole) November 1, 2014
There was pizza a bit after that, and everyone was done for the day.
Sunday
We weren’t too sure as to how many people would show up on Sunday but we still got a sizeable amount of attendees! There were more patches sent and bugs squashed. And also two presentations:
Marcia Knous explained how the QA process worked:
Marcia AKA @MozCommunity is going to talk about Firefox OS QA pic.twitter.com/uGN27jBvJ7
— GIF comedian (@supersole) November 2, 2014
And Zac spoke about automated tests:
Zac explaining automation in testing Firefox OS @MozLDN pic.twitter.com/VsUzZZJeZ0
— GIF comedian (@supersole) November 2, 2014
This slide was really cool: Best practices for reporting Firefox OS bugs!
Bugzilla Firefox os best practises for reporting bugs! @MozLDN pic.twitter.com/9DzBiDYH1f
— GIF comedian (@supersole) November 2, 2014
Transcribing it for easier referencing:
Bugzilla Best Practices
Typically included in a Bug report:
– Build ID and Base version used
– ADB Logcat while issue has been reproduced
– Video of the issue if it helps illustrate the problem
– Screenshot of the issue if it helps illustrate the problem
– Is the issue 100% reproducible?
We didn’t stay that late as on Saturday. At the end of the day we compared both dashboards–Paris and London:
Paris
London
Bugzilla
Open bugs
11
13
Patches
18
12
Comments
24
35
Review Requests
15
8
Added to CC
11
16
GitHub
Pull requests
6
11
Issues
0
1
Forks
2
4
Other
58
12
Conclusions
For being our first Bug Squash Party, it went way smoother than we expected! It was a really nice continuation to MozFest–there were at least two attendees who joined the party because they had got a Flame at MozFest.
Setting up the dev environment was the longest part and it was a bit of a tedious bore–I wonder what can be done to simplify that–, but once that part was done, it was quite easy for people to get started since they were web developers already.
My personal opinion is that the explicitness with the Code of Conduct worked quite well, and I can say this with confidence because pretty much everyone behaved really well and respectfully, whereas some people that came afterwards and hadn’t been through our house rules behaved in ways that could have been “better”. From being politer with us to treating the rest of attendees with a bit more of respect.
We were also thinking that perhaps we should not let latecomers in, as they made us stop and start from the beginning to bring them up to speed, this being more of a workshop than a conference.
Finally, I’m sad to report that two of the test phones that we generously lent to attendees went missing. Maybe we’ll have to be less generous and trusting and ask for a proof of ID to be left with us in exchange for testing hardware. I would like to stress the point that these phones are work tools and stealing them prevents people from doing their work, and you should feel super bad for doing so, whomever you were.
[Less]
|
Posted
about 10 years
ago
by
John
Its been a while since I last blogged about “remoties”, but it continues to be a very popular topic! In addition to Twilio in February, I’ve given presentations at Automattic (best known for WordPress), RiotGames (twice) and Haas, UCBerkeley (twice)
... [More]
, as well as smaller private discussions with several other companies.
You can get the slides in PDF format by clicking on the thumbnail of the first slide. (I’m happy to share the original very large keynote file, just let me know and we’ll figure out a way to share without hammering my poor website.)
Remoties are clearly something that people care deeply about. Geo-distributed teams are becoming more commonplace, and yet the challenges continue to be very real. The interest before each presentation is cautiously high, while the Q+A discussions during/afterwards are very engaged and lively. Every time, I find myself tweaking, honing and refining the presentation again and again… yet, the core principles remain the same:
remoties / geo-distributed teams can be very effective, and can be sustained over time.
remoties != compromise. In fact, a geo-distributed team means you can hire best-available, not “just” best-willing-to-relocate.
easy to use, cheap, technologies work just fine if used correctly (maybe even better then expensive systems?)
crisp, careful organization of human processes is essential
in a geo-distributed team, *everyone* is a remotie, even people who happen to sit in an office. If you are remote from someone else, that makes you *both* remoties. Hence the working title “we are ALL remoties”.
Given how this topic impacts people’s jobs, and their lives, I’m not surprised by the passionate responses, and each time, the lively discussions encourage me to keep talking about this. As always, if you have any questions, suggestions or good/bad stories about working in a remote or geo-distributed teams, please let me know – I’d love to hear them.
Thanks
John.
ps: I noticed in my website logs that a lot of people were still downloading my original remoties slides, first posted in apr2012, even though I’d posted multiple revisions of the slides since. So, I’ve gone back and updated my earlier “remoties” blog posts to all point to these latest-and-greatest slides. [Less]
|
Posted
about 10 years
ago
How little can one pack and still have a fully-functional chef´s kitchen?
|
Posted
about 10 years
ago
Thoughts on the upcoming TAG election of 2012.
|
Posted
about 10 years
ago
David Boswell wants to create a Volunteer Agreement for Mozilla. I propose creating a Non-Volunteer Agreement for Mozilla.
|