498 karma · joined April 25, 2010
"Thomas, we want to increase our revenue so we need to differenciate ourselves from other consulting firms. We need our services to be top-notch. Our customers don't know anything about Agility and processes such as SCRUM but I think I can sell them that. What can you guys do to help sell this?"
To which I suggested: "we can pretend we're doing a variant of SCRUM and label it '{{nameofcompany}}scrum'. I think a board in the middle of the openspace with neatly arranged coloured post-its will do the trick."
He said: "Great, thanks", then proceeded to increase our average daily rate by 20%.
Once a cowboy, always a cowboy... Oh and by the way, it worked.
Agility, as in the Agile Manifesto, simply works on its own. It might not define good practices, but at least it defines a set of good intentions and it's a working strategy that's simple to explain to team members. Everything around is nothing but ways to make more money, not ways to make projects work. My philosophy would be to sign the Manifesto (because it's good) and pretend to implement one of those methodologies (because it's cash), while you keep doing your job well in the way that best suits you (because that's what makes you happy).
Loading of textures, creation and loading of materials, loading of shaders, linking of programs, creation and buffering of VBOs... there's a ton of things to be done before you can even see anything on your screen. I'd love to speed this up for the first launch, and then let the code be overhauled according to each and everyone's specific needs - OpenGL is too low-level to be wrapped in a full-fledged library (that would be an engine...), and I'm a bit fed up with copy-pasting my own bugs from previous projects, so a boilerplate with very few features (and errors!) will do.
Call that passive-aggressivity, social engineering or mind games, I call it just a game. Multitasking at work is tons of fun when you've practiced enough to recognize and leave all error-prone activities out of the picture. And it's very good to make people double-check their problem before they come bother you, even though you're behaving like an open and helpful guy all the time.
https://market.android.com/details?id=com.fairyteller.linkpr...
I'm sure the os & browser devs are all good and great. I'm sure the web devs are all fine and accurate; that the subject is a complex one and we're already all doing the best we can.
But that's not my point: I'm worried that one day we'll run out of RAM because we're designing our webapps as if client RAM was no longer a finite resource, we simply forgot it even existed in the first place.
You and others just filled that gap, thank you, I feel less stupid now.
Are the underlying systems running web applications (aka browsers) doing it wrong? Or are the webapp devs not doing what needs to be done in general? Or am I raising a false alarm and is everything alright?
As for my macbook, it has an unrelated problem, that's for sure, but all it does is magnify the memory issues for me.
Chrome says: "This is the best indicator of browser memory resource usage"
This was absolutely unintentional and involves at least two intermediates over which the original blogger had no control whatsoever.
Link to the page in question: http://fh2012.tumblr.com/page/6 It so happens it's the tumblr blog of the current favorite to the French Presidential election, and it was the first post so I noticed it :P
Besides, I'll have to take your word on that, since my 4GB macbook pro has become completely unuseable due constant swapping, but it could be completely unrelated.
These are the kind of fragmentation issues you're going to have to bite.
Fragmentation over whether a phone has or doesn't have a menu button is of no relevance. This app(1) for instance works both with the Action Bar, the software menu button and the hardware menu button. I only had to point the onCreateOptionMenu method to a single XML, and the ICS SDK did all the defragmentation work for me. It works fine from Froyo to Ice Cream Sandwich, on tablet, on phone, on KindleFire.
(1) shameless plug: https://market.android.com/details?id=com.fairyteller.icanre...
What's wrong with byte buffers? Serious question, as I use them all the time whenever I do OpenGL-ES 2.0 surfaceviews for android apps.
I see touch scrolling as a great implementation of the wrong solution.
2. I agree with you, but by itself a list is not any better for comparing rows. It's only better in the edge case where you can display the two rows on the same screen in the list but not on a pager, and even then it's visually hard to get the job done.
I honestly don't know what came first, the pain or the repulsion for scrolling in general, but the association is fierce.
Then I started reasoning on why people would prefer a world without scrolling. The first thing that came to mind is that scrolling does not exist a lot in real life, apart from a few instances: using binoculars, using a magnifier, going forward/backward on some sort of static security camera looking at traffic or something like that. For everything else, we naturally use paging. Paging is strange: using two or three fingers, you can page by any amount you see fit, and every time, the entry you're looking for is on display at the exact same place on your eye. Items can be specified with their page number (324), then a 2D position (fifth line, seventh word). At some point you can even use muscle memory to reach the correct page while you position your eye for receiving the info.
Scrolling also has an interesting attribute: it's entirely a computer concept. You have a buffer of information and you increment the offset. But as an end user, using only scrolling, you can't easily perform things such as dichotomy - everyone knows dichotomy even if they don't know the name of it. Go forward a bunch, go backwards half a bunch, go forward half of a half of a bunch, find the entry.
Another thing that I don't like with scrolling is how it messes up with the "5-7 modulo 2" rule of thumb for decision making (1). It's not that there are more elements than needed, it's that they get pushed up & down when you scroll, so they never appear to be a fixed point in space where you can go in a subset of 3-9 destinations. As a result, you can't select a subset from 3-9 subsets, and you can't select an item from 3-9 items, you actually have to scroll all the way and parse all elements in order to make an informed decision from, say, 15 or 150 possible ones.
All these questions (and more (2)) itched me since the day I realized that there could be a computer world without scrolling and maybe we could start dreaming/having nightmares about it... Anyway this is a belief and I'm generally a man of reason - it's tough to put it into words what you know you definitely can't prove :)
(1) : http://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_...
(2) : mouse wheel fatigue when browsing websites or expanding trees, why isn't a newsfeed or a time related search result on a logarithmic scale so I can see it all, always, since the start of the century, why did we mix UI and content on webpages when we could simply remove the navigation panes...
I believe the right way to be something else, though: Never display a list that mixes data and actions. Even better: never display a list at all. Lists are bad for the user. Scrolling is bad. That's my honest belief.
It has unfortunately little to do with UX, since both end up being confusing on edge cases (Astro's horribly enraging "press back twice to 'exit'", the conversation or gmail app issues people mentioned in this thread).
I personally tend to prefer back as in back in time but I know for sure opinions vary.
On android we have only one system-wide consistent timeline to work with, and that's the timeline of fired intents. It works across the whole system. Back works on that level by default and is defined by default as "go back in time".
This tends to be my general philosophy, by the way. Reuse code to get something working fast, isolate what really causes bad performances, then solve only those problems by going under the hood. If the performance issues remain, cheat by pretending it doesn't exist, by making sure we're never in a worst case scenario and handling the worst case scenario differently.
In my "IntHashMap" case, the worst case scenario was gathering the keySet. I made sure that I'd only call it when I really really needed it. The rest was "fast enough" once I had removed the underlying Integer Object on the key.
Likewise, comparative advertising is illegal in France. You can't be the French Coca-Cola and feature the French Pepsi in your ads.
Anyway, let's drop the troll word. I have more quotes to provide though, maybe these will better carry the reputation of "Troublemaker".
Couple recent quotes from Niel (taken from LeWeb 2011) http://www.techrevolutions.fr/free-mobile-le-troll-de-xavier...
"The thing that surprises me is that our concurrents have done nothing yet. They micro-reduced their prices by a few percents, this isn't reasonable! They have to get at it for real, they have to lower the prices for real! Start to cut right now, before we arrive! (...) Ready your communication, build some aggressive marketing plans, then maybe you have a chance to keep on existing! Right now it's a joke, you didn't lower your prices! This isn't serious!"
"I invite you to go and visit their work places, their desks, their lifestyle, look at the leaders of these companies all with their car with driver. As for me I have my cab waiting for me outside! When they no longer have all that, management in these companies will begin to improve!"
2010, from http://frenchweb.fr/xavier-niel-il-etait-une-fois-la-revolut... "We're so far ahead of the rest that they should be ashamed."
Around 7:12-7:45 in the linked video: "This struck me as a lack of courage, I had hoped they would, at last, offer unlimited phone calls from their box. [smiles ironically] But you see, we have to deal with copycats who don't go all the way with their copying philosophy. And that's it... actors who are bad, and who even when they copy become bad because they stop copying as soon as there's something good, I personally find it very disappointing. I believe that we're in a market that has always copied us, so companies need to be brave and copy us all the way."
About Orange: "We have a relationship of tenderness with Orange." (I'm not sure it translates the right way: he implies a relationship that's akin to a kid and his grandmother)
Illustration of his audacity & engineering background, and, well, ethics: in 1996, he launches a minitel service that would become extremely profitable (while not being related to porn): a Reverse Phone Number Lookup directory. At that time France Telecom provided a phone directory to everyone, with the first 3 minutes of connection being free. He simply wired a hundred minitels and browsed the service 3minutes at a time until he had every single person in France on his own database. There was a public outrage. There was a trial, which ended in 1998. Iliad lost and had to pay 100,000,000 Francs in fines (roughly 15 million euros, which was a lot those days) to France Telecom.
link to the legal report for that case: http://www.legalis.net/spip.php?page=breves-article&id_a...
The rest of my knowledge about Xavier Niel's character comes second-hand and is private, so I won't have much more to add here.
Don't take all this the wrong way though, I like this entrepreneur a lot. He is one of my role models.
Biography in English
http://www.economist.com/node/14402214?story_id=14402214
There's more available on French-speaking web - here are a couple links about his porn debuts and his jail time for misuse of company asset.
http://www.liberation.fr/societe/010160359-le-x-versant-obsc... http://www.lexpress.fr/actualite/politique/prison-avec-sursi...
The part about him doing it "for the lulz" was never officially acknowledged. With that said, French media have nicknamed him "le Trublion" which means roughly "the troublemaker", and he clearly likes it.
An example of pure trolling from Niel: as a justification for why he invested money in a newspaper in financial trouble, he said "You're asking me if I have 35 million euros? Don't take this the wrong way, but this amount is roughly equal to the daily variation of my fortune on the stock market" - "Si je dispose de 35 millions d’euros ? Je ne voudrais vexer personne, mais cette somme correspond à la variation quotidienne de mon patrimoine en Bourse."
http://www.capital.fr/enquetes/hommes-et-affaires/xavier-nie...
Now I agree that businessmen should be judged on their actions. He is smart, he is good, and I like his way of dealing with things. But he was always and will always be a Troll at heart, a well-intentioned one maybe, but "very decent ethics" clearly does not accurately describe him.
- sorry for the mix-up I messed up my reply earlier.
All online & phone services for ending or transferring mobile contracts are of course overloaded and currently unavailable in France. FreeMobile's registration webpage (http://mobile.free.fr) has been unavailable for the past 5 hours. Figures fly on twitter, as apparently about 1.5 million people tried to access it this morning.
Streaming figures for the live keynote amount to 80Gb/seconds over 300 servers, Online.net representative @Online_fr said on twitter. Apparently 600,000 people watched the keynote live, Online.net even claimed it's a world record. (Online.net = Iliad/Free subsidiary dedicated to hosting services)
You are indeed witnessing Market Disruption - that or a highly successful launch, maybe a bit too successful :)